回溯算法——LeetCode47 全排列 II

news/2024/9/23 20:17:10/

题目

力扣题目链接

思路

47.全排列 II

代码

注意注释部分,以及去重的逻辑(很重要!)

class Solution {
private:vector<vector<int>> res;vector<int> path;void backtracking(vector<int>& nums, vector<bool>& used) {if (path.size() == nums.size()) {res.push_back(path);return;}for (int i = 0; i < nums.size(); i++) {if (i > 0 && nums[i] == nums[i - 1] && used[i - 1] == false) {continue;}// 注意这个判断不能丢!只需在前面加上去重的逻辑if (used[i] == false) {path.push_back(nums[i]);used[i] = true;backtracking(nums, used);used[i] = false;path.pop_back();}}}
public:vector<vector<int>> permuteUnique(vector<int>& nums) {sort(nums.begin(), nums.end());vector<bool> used(nums.size(), false);backtracking(nums, used);return res;}
};

http://www.ppmy.cn/news/1511389.html

相关文章

Linux第十节课 - gdb + 冯诺依曼体系结构

科普&#xff1a;开发流程 一个项目开发&#xff1a;项目经理 产品经理 程序员 测试&#xff08;可能有&#xff09;--->&#xff08;开发团队&#xff09; 产品经理提出来需求 --->>> 项目经理分配任务 ---> 程序员开发 --->>> 测试部门提交…

docker做Llm开发时可能会遇到的问题

如果没有开启GPU&#xff0c;会报错 docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]]. 原因可能是 &#xff1a;没有安装 GPU Docker 运行时 则按照如下参照安装&#xff0c; 基于 Docker 的深度学习环境&…

Linux 用户管理和权限分配

一、Linux 用户分类 超级管理员、普通用户、傀儡用户 1&#xff0c;root #皇帝用户&#xff0c;定制规则的用户&#xff0c;系统高级管理员&#xff1b;【0】 2&#xff0c;普通用户 #老百姓&#xff0c;官员&#xff1b;有特定的权限&#xff0c;权限是root授予的&#xff…

智能调度 | 多台AGV为什么不会撞在一起?

AGV叉车 随着智能仓储物流系统、柔性制造系统的广泛应用&#xff0c;工厂自动化、计算机集成制造系统技术的逐步发展&#xff0c;常见的智能装备AGV小车的功能愈发齐全&#xff0c;应用范围与技术水平也得到迅猛发展。 AGV作为仓储物流自动化搬运装卸的重要工具&#xff0c;通…

Android架构组件中的MVVM

Android架构组件中的MVVM&#xff08;Model-View-ViewModel&#xff09;模式是一种广泛应用的设计模式&#xff0c;它通过将应用程序分为三个主要部分&#xff08;Model、View、ViewModel&#xff09;来分离用户界面和业务逻辑&#xff0c;从而提高代码的可维护性、可扩展性和可…

SSH远程管理/TCP Wrappers访问控制

文章目录 SSH远程管理/TCP Wrappers访问控制SSH(Secure Shell)协议OpenSSH配置信息服务监听选项用户登录控制登录验证方式 常用目录---ssh 远程安全登录---scp 远程安全复制---sftp FTP上下载 配置密钥对验证环境配置ECDSA算法RSA算法RSA算法实操在centos7 IP:20.0.0.51操作一、…

docker中挂桶什么意思

“挂桶”是指在 Docker 容器中挂载一个存储桶&#xff08;通常指的是云存储桶&#xff0c;如 AWS S3、阿里云 OSS 等&#xff09;或本地存储目录的操作。通过挂载&#xff0c;Docker 容器可以直接访问存储桶中的文件&#xff0c;就像访问本地文件系统一样。 具体来说&#xff…

【Redis】Redis典型应用-缓存(cache)

目录 什么是缓存 使用Redis作为缓存 缓存的更新策略 缓存预热&#xff08;cache preheating&#xff09; 缓存穿透&#xff08;cache penetration&#xff09; 缓存雪崩&#xff08;cache avalanche&#xff09; 缓存击穿&#xff08;cache breakdown&#xff09; 什么是…