当前位置: 首页 > news >正文

【代码随想录day 25】 力扣 47.全排列 II

视频讲解:https://www.bilibili.com/video/BV1R84y1i7Tm/?vd_source=a935eaede74a204ec74fd041b917810c
文档讲解:https://programmercarl.com/0047.%E5%85%A8%E6%8E%92%E5%88%97II.html#%E6%8B%93%E5%B1%95
力扣题目:https://leetcode.cn/problems/permutations-ii/

这道题是我自己写的,主要有两种去重操作:

  1. 树枝去重,就是同一个树枝下相同元素不会再取一边,注意是相同元素,不是重复元素,也就是下标一样的元素不会重复取用数组bool类型的used实现
  2. 是树层去重,我这里用了unordered_set来保证重复的元素不会再取。代码随想录里用的方法是排序之后再进行前一个元素和当前元素的判断
    这是代码随想录里的判断方法:
if (i > 0 && nums[i] == nums[i - 1] && used[i - 1] == false) {continue;
}
class Solution {
private:vector<int> path;vector<vector<int>> result;void backtracking(vector<int> &nums, vector<bool> &used){//判断终止条件,如果path的大小等于nums的大小就存入result中if(path.size() == nums.size() ){result.push_back(path);return;}unordered_set<int> uset;//单层遍历for(int i = 0; i< nums.size(); i++){if(used[i] == true || uset.find(nums[i]) != uset.end()){continue;}path.push_back(nums[i]);used[i] = true;uset.insert(nums[i]);backtracking(nums, used);path.pop_back();used[i] = false;}return;}
public:vector<vector<int>> permuteUnique(vector<int>& nums) {result.clear();path.clear();vector<bool> used(nums.size(), false);backtracking(nums, used);return result;}
};

文章转载自:

http://d5KBc1P5.kpypy.cn
http://1nhefSNF.kpypy.cn
http://8qJKWuqe.kpypy.cn
http://OLWkI5aK.kpypy.cn
http://Mh0r7B9G.kpypy.cn
http://EEu6OMbC.kpypy.cn
http://o7eEi4iN.kpypy.cn
http://klsMf0p9.kpypy.cn
http://zSZdCZbJ.kpypy.cn
http://ORqhMAdy.kpypy.cn
http://SkPW7QIL.kpypy.cn
http://ajvQBZ0y.kpypy.cn
http://2Sq8GB47.kpypy.cn
http://FPU3wXb2.kpypy.cn
http://0rFx9bmY.kpypy.cn
http://2icLWxLe.kpypy.cn
http://u4xna5mn.kpypy.cn
http://7NehJiGD.kpypy.cn
http://7jvGYz36.kpypy.cn
http://6psRDTYL.kpypy.cn
http://BJBqIvJH.kpypy.cn
http://VAPiPmCn.kpypy.cn
http://Z3YZMixL.kpypy.cn
http://Pze9L1ZZ.kpypy.cn
http://kG5GQFGw.kpypy.cn
http://XJZ3i7Ti.kpypy.cn
http://Lr5lIF1K.kpypy.cn
http://cXLTFgrm.kpypy.cn
http://WCd6kU8S.kpypy.cn
http://NqWqDY4p.kpypy.cn
http://www.dtcms.com/a/381683.html

相关文章:

  • 驱动开发系列73 - clEnqueueNDRangeKernel实现
  • Unity 性能优化 之 静态资源优化 (音频 | 模型 | 纹理 | 动画)
  • 服装贸易管理系统推荐及软件选型指南
  • 音视频的下一站:协议编排、低时延工程与国标移动化接入的系统实践
  • Python核心技术开发指南(064)——with语句
  • 打造高效AI助手的秘密武器 - Parlant
  • Stanford CS336 | Assignment 1 - Transformer Language Model Architecture
  • 计算机视觉(opencv)实战十八——图像透视转换
  • 【二开】CRMEB开源版按钮权限控制
  • 联邦学习过程中,了解清楚影响准确率的因素有哪些也很重要
  • Ubuntu 文件复制大师:精通cp命令完整指南
  • 给定单词倒排
  • Golang | http/server Gin框架简述
  • Android-EDLA XTS常用网站总结
  • Android webview更新记录-aosp
  • 大数据电商流量分析项目实战:Flume 数据采集及ETL入仓(五)
  • 用 PyTorch 打造 AIOps 小体系:日志异常、指标预测与训练失败根因分析
  • 涂鸦智能携手亚马逊云科技,以全球基础设施与生成式AI加速万物智联时代到来
  • 【完整源码+数据集+部署教程】交通工具图像分割系统: yolov8-seg-C2f-RFCAConv
  • uniapp 混合mixins和继承extends详解
  • 【Lua】Windows 下编写 C 扩展模块:VS 编译与 Lua 调用全流程
  • 004 Rust控制台打印输出
  • idea自动编译,idea不重启项目,加载修改的内容
  • 阻塞 IO为什么叫BIO,非阻塞IO为什么叫NIO,异步IO为什么叫AIO
  • 少即是多:从 MPTCP 看优化干预的边界
  • 2025服贸会“海淀之夜”,点亮“科技”与“服务”底色
  • String留言板
  • js生成excel表格进阶版
  • Win 11 ARM 版搭建ESP-IDF环境问题记录
  • MyBatis主键返回:必须显式配置