力扣刷题 DAY_71 回溯
Leetcode47
链接:力扣 。
题目:
给定一个可包含重复数字的序列 nums ,按任意顺序返回所有不重复的全排列。
说明:
- 1 <= nums.length <= 8
- -10 <= nums[i] <= 10
示例1:
输入:nums = [1,1,2]
输出:
[[1,1,2],
[1,2,1],
[2,1,1]]
示例2:
输入:nums = [1,2,3]
输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]
参考代码:
class Solution {
public:vector<vector<int> > result;vector<int> permutation;bool hash[8] = {false};void dfs(vector<int>& nums, int index) {if (permutation.size() == nums.size()) {result.push_back(permutation);return;}for (int i = 0; i < nums.size(); i++) {if (i > 0 && nums[i] == nums[i - 1] && hash[i - 1] == false) {continue;}if (hash[i] == false) {permutation.push_back(nums[i]);hash[i] = true;dfs(nums, i + 1);permutation.pop_back();hash[i] = false;}}}vector<vector<int>> permuteUnique(vector<int>& nums) {sort(nums.begin(), nums.end());dfs(nums, 0);return result;}
};
力扣刷题 DAY_71 回溯相关推荐
- 力扣刷题记录-回溯算法相关题目
首先介绍一下回溯算法 回溯通常在递归函数中体现,本质也是一种暴力的搜索方法,但可以解决一些用for循环暴力解决不了的问题,其应用有: 1.组合问题: 例:1 2 3 4这些数中找出组合为2的组合,有1 ...
- 力扣刷题pdf(java版本,内含暗黑版和光明版),都在这里了
BAT大佬力扣刷题pdf,都在这里了! 相信很多小伙伴刷题的时候面对力扣上近两千道题目,感觉无从下手! 我找了很久,今天终于让找到了Java版leetcode算法题解笔记,强烈建议先按照本篇介绍pd ...
- 教你创建电脑、手机同步的markdown云笔记--力扣刷题力荐!
开篇先致歉 其他不谈,开篇必须先给各位读者道个歉,年后工作上比较忙,加上最近闲暇的时间都用来在力扣上刷算法题了,导致公众号断更有些严重啊.再加上年后将健身减重提上了日程,时间上就更显的捉襟见肘了. 不 ...
- 《剑指Offer》力扣刷题笔记(03-10)
<剑指Offer>力扣刷题笔记(03-10) 最近确实有点闲,想在进组搬砖之前找点有意义的事干,于是,就开始刷<剑指Offer>.<程序员面试金典>等书上的题目,也 ...
- 力扣刷题之二叉树的层序遍历
Welcome to you, 每日一刷系列 二叉树的层序遍历 二叉树的层序遍历II 二叉树的右视图 ...
- 『力扣刷题』5275_找出井字棋的获胜者 解题代码
LeetCode-cn 力扣刷题 LeetCode-cn力扣刷题目录 165周赛 5275_找出井字棋的获胜者 * 5275. 找出井字棋的获胜者 显示英文描述* 用户通过次数0* 用户尝试次数0* ...
- 『力扣刷题』5276_不浪费原料的汉堡制作方案 解题代码
LeetCode-cn 力扣刷题 LeetCode-cn力扣刷题目录 165周赛 5276_不浪费原料的汉堡制作方案 * 5276. 不浪费原料的汉堡制作方案 显示英文描述* 用户通过次数212* 用 ...
- 『力扣刷题』5238_找出给定方程的正整数解 解题代码
html: embed_local_images: true embed_svg: true offline: true toc: undefined print_background: false ...
- 力扣刷题全局变量WA,局部变量AC的问题
力扣刷题全局变量WA,局部变量AC问题 题目 原因 题目 golang力扣leetcode 1219.黄金矿工 原因 今天在刷题的时候,遇到一个现象,本地跑测试全部通过,一提交就错错错,非常离谱 然后 ...
- 力扣刷题-前k个高频元素
力扣刷题-前k个高频元素 题目: 给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素.你可以按 任意顺序 返回答案. 示例 1: 输入: nums = [1,1,1,2 ...
最新文章
- 快来学习Redis 分布式锁的背后原理
- 简单的java rpc_Java 简单的rpc 一
- javascript:void(0)和javascript:;的用法
- linux abs 和 屏幕 大小关系,观点|一个 Linux 菜鸟的回忆录
- c语言----预处理
- @configurationproperties注解给属性赋值
- SpringMVC转发和重定向
- python子类继承父类属性实例_python – 从子类内的父类访问属性
- sdut 最长公共子序列问题
- 运动世界校园显示服务器开小差,小学新生入学适应存在的问题及教育对策 ——以徐州市某小学为例...
- 百万数据php7取出循环_用php处理百万级以上的数据
- [转载] python模板字符串和格式化字符串
- 神经网络发展的五个阶段,神经网络发展历程
- 事业心是成功的“动力源”
- linux命令怎么查看日志文件,linux查看日志文件命令
- 绘制三角形的外接圆和内接圆
- YBT高效进阶3.4.2 洛谷P2341 POJ2186受欢迎的牛Popular Cows
- python里的点_Python里面这些点,据说80%的新手都会一脸懵逼
- docker安装和一些基本操作
- 网络系统管理技能大赛知识点一