全排列II(力扣47)

ops/2025/2/13 13:12:12/

这道题与全排列(力扣46)-CSDN博客 的不同就在于集合中有相同元素,我们唯一多的操作就是在同一层递归中也要去重,其他的都与上一题相同。大家可以结合我下面的代码及详细注释理解此题。

代码及详细注释如下:

class Solution {
public:vector<int> path;vector<vector<int>> result;void backtracking(vector<int>& nums,vector<int>& used){//终止条件if(path.size() == nums.size()){result.push_back(path);return;}for(int i = 0;i < nums.size();i++){//同层递归去重if(i > 0 && nums[i] == nums[i - 1] && used[i - 1] == 0){continue;}//这个去重保证一个排列中不重复使用元素(注意是不重复使用,并不意味着排列中不出现相同元素,因为集合中本身就有相同元素)if(used[i] == 1) continue;path.push_back(nums[i]);used[i] = 1;backtracking(nums,used);//递归//回溯path.pop_back();used[i] = 0;}return;}vector<vector<int>> permuteUnique(vector<int>& nums) {result.clear();path.clear();sort(nums.begin(), nums.end()); // 排序vector<int> used(nums.size(),0);backtracking(nums,used);return result;}
};


http://www.ppmy.cn/ops/158048.html

相关文章

Vulhub靶机 ActiveMQ任意 文件写入(CVE-2016-3088)(渗透测试详解)

一、开启vulhub环境 docker-compose up -d 启动 docker ps 查看开放的端口 漏洞版本&#xff1a;ActiveMQ在5.14.0之前的版本&#xff08;不包括5.14.0&#xff09; 二、访问靶机IP 8161端口 默认账户密码都是admin 1、利用bp抓包&#xff0c;修改为PUT方法并在fileserver…

【c++】四种类型转换形式

【c】四种类型转换形式 编译时: static_cast&#xff08;静态转换&#xff09; const_cast&#xff08;去常性转换&#xff09; reinterpret_cast&#xff08;重新解释转换&#xff0c;直接转换地址&#xff09; 运行时: dynamic_cast&#xff08;动态转换&#xff0c;运行时类…

HTML 入门基础

1.排版标签 1. h1 最好写一个&#xff0c; h2~h6 能适当多写。 2. h1~h6 不能互相嵌套&#xff0c;例如&#xff1a; h1 标签中最好不要写 h2 标签了。 3. p 标签很特殊&#xff01;p标签不能写块级元素(独占一行的叫块级元素) 4. 块级元素可以写行内元素和块级元…

mysql WITH的多种用法与示例

在 MySQL 中&#xff0c;WITH 语句&#xff08;或称为公用表表达式&#xff0c;Common Table Expressions&#xff0c;简称 CTE&#xff09;用于定义一个临时结果集&#xff0c;可以在查询的其他部分中重复引用。通常用在复杂查询中&#xff0c;方便将查询逻辑分解为多个部分&a…

SAP-ABAP:SAP中REPORT程序和online程序的区别对比

在SAP中&#xff0c;REPORT程序和Online程序&#xff08;通常指Dialog程序&#xff09;是两种常见的ABAP程序类型&#xff0c;它们在用途、结构和用户交互方式上有显著区别。以下是它们的详细对比&#xff1a; 1. 用途 REPORT程序Online程序主要用于数据查询、报表生成和批量数…

DeepSeek 从入门到精通学习指南,2025清华大学《DeepSeek从入门到精通》正式发布104页pdf版超全解析

DeepSeek 是一款强大的 AI 搜索引擎&#xff0c;广泛应用于企业级数据检索和分析。无论您是初学者还是有经验的用户&#xff0c;掌握 DeepSeek 的使用都能为您的工作带来极大的便利。本文将从入门到精通&#xff0c;详细介绍如何学习和使用 DeepSeek。 链接: https://pan.baid…

AI前端开发与云计算结合:效率革命,ScriptEcho引领未来

在快速迭代的互联网时代&#xff0c;前端开发面临着巨大的挑战&#xff1a;开发效率低、人力成本高、迭代速度慢等问题日益突出。而人工智能&#xff08;AI&#xff09;的兴起&#xff0c;为前端开发带来了新的机遇&#xff0c;但同时也带来了新的挑战。幸运的是&#xff0c;云…

gitlab修改默认端口

问题&#xff1a;gitlab和zabbix部署在同一台服务器上导致80端口冲突 修改gitlab默认端口为8088&#xff1a; 第一步&#xff1a;修改/etc/gitlab/gitlab.rb文件 nginx[listen_port] 8088 第二步&#xff1a;修改默认的gitlab nginx的web服务80端 /var/opt/git…