【代码随想录】刷题笔记Day33

news/2024/4/17 17:21:33

前言

  • Day33虽说是一个月,但是从第一篇开始实际上已经过了8个月了,得抓紧啊

46. 全排列 - 力扣(LeetCode)

  • 前面组合就强调过差别了,这道题是排序,因此每次要从头到尾扫,结合used数组
  • class Solution {
    private:vector<vector<int>> res;vector<int> path;// vector<int> used(10);  // 私有中vector不支持初始化int used[7] = {};         // 私有中静态数组支持初始化void backtracking(vector<int>& nums){if(path.size() == nums.size()){res.push_back(path);return;}for(int i = 0; i < nums.size(); i++){  // 从头开始遍历if(used[i] == 1) continue;  // 数枝上跳过取过的元素 used[i] = 1;path.push_back(nums[i]);backtracking(nums);used[i] = 0;path.pop_back();}}
    public:vector<vector<int>> permute(vector<int>& nums) {backtracking(nums);return res;}
    };

 47. 全排列 II - 力扣(LeetCode)

  • 有重复元素,比前一题多两个步骤:排序 + 去重
  • class Solution {
    private:vector<vector<int>> res;vector<int> path;int used[9] = {};         // 私有中静态数组支持初始化void backtracking(vector<int>& nums){if(path.size() == nums.size()){res.push_back(path);return;}for(int i = 0; i < nums.size(); i++){  // 从头开始遍历if(used[i] == 1 || i > 0 && used[i - 1] == 0 && nums[i] == nums[i - 1]) continue;  // 去重,used[i - 1] == 0/1都可以通过,0更好(树层上去重)used[i] = 1;path.push_back(nums[i]);backtracking(nums);used[i] = 0;path.pop_back();}}
    public:vector<vector<int>> permuteUnique(vector<int>& nums) {sort(nums.begin(), nums.end());  // 先排序backtracking(nums);return res;}
    };

后言

  • 搞定咯,前面有组合的铺垫之后这两道都好做很多hhh,明天结束回溯(假装是Life is strange里的MAX伸出双手回溯时间)!

https://www.xjx100.cn/news/3092700.html

相关文章

在工作中被架空时怎么办?

在工作中被架空时&#xff0c;可以采取以下措施来处理&#xff1a; 保持冷静&#xff1a;不要因为被架空而情绪激动或做出过激的回应&#xff0c;这可能会进一步恶化情况。确认事实&#xff1a;首先要确认自己是否真的被架空了。有时候&#xff0c;这可能只是暂时的困难或误解…

C语言进阶之冒泡排序

✨ 猪巴戒&#xff1a;个人主页✨ 所属专栏&#xff1a;《C语言进阶》 &#x1f388;跟着猪巴戒&#xff0c;一起学习C语言&#x1f388; 目录 前情回顾 1、回调函数 2、冒泡排序 3、库函数qsort cmp&#xff08;sqort中的比较函数&#xff0c;需要我们自定义&#xff09; …

matlab设置背景颜色

matlab默认的背景颜色是纯白RGB(255,255,255)&#xff0c;纯白太刺眼&#xff0c;看久了&#xff0c;眼睛会酸胀、疼痛&#xff0c;将其改成豆沙绿RGB(205,123,90)&#xff0c;或者给出浅绿色RGB(128,255,255), 颜色就会柔和很多&#xff0c;眼睛感觉更舒适。     下面介绍在…

pygame播放视频并实现音视频同步

一、前言 在我接触pygame时最新的pygame已经不支持movie模块&#xff0c;这就导致在pygame播放视频变成一个问题&#xff0c;网上搜了下解决方案有两个&#xff1a; 一是使用opencv播放视频&#xff0c;再结合pygame.mixer来播放音频 二是使用moviepy播放视频&#xff0c;再…

正则笔记(持续更新)

1. java 正则替换 指定字符及其之前的字符 System.out.println("em_4b6add2cfb415db2".replaceFirst("\\.*._",""));//结果 -> e4b6add2cfb415db22. java 正则替换 指定字符及其之后的字符 String name "name.keyword^1.0" ; St…

sqlmap的使用笔记及示例

sqlmap的使用笔记 文章目录 sqlmap的使用笔记1. 目标2. 脱库2.1. 脱库&#xff08;补充&#xff09; 3. 其他3.1. 其他&#xff08;补充&#xff09; 1. 目标 操作作用必要示例-u指定URL&#xff0c;检测注入点sqlmap -u http://example.com/?id1-m指定txt&#xff0c;里面有…

【secureCRT连接Virtual Box里安装的Utuntu】

先说一下为什么要写这篇文章及一些背景问题介绍&#xff0c;楼主第一次使用secureCRT及securtFX这两个软件&#xff0c;在windows系统下访问虚拟机里面的ubuntu系统。看了网上的不少帖子&#xff0c;没有让我清晰明白地知道怎么使用secureCRT。连接不通&#xff0c;不知道是虚拟…

Deep Learning for Monocular Depth Estimation: A Review.基于深度学习的深度估计

传统的深度估计方法通常是使用双目相机&#xff0c;计算两个2D图像的视差&#xff0c;然后通过立体匹配和三角剖分得到深度图。然而&#xff0c;双目深度估计方法至少需要两个固定的摄像机&#xff0c;当场景的纹理较少或者没有纹理的时候&#xff0c;很难从图像中捕捉足够的特…