46. 全排列/47. 全排列 II
2020-07-25
1.题目描述
给定一个 没有重复 数字的序列,返回其所有可能的全排列。
2.题解
交换元素
3.代码
class Solution {public:vector<vector<int>> permute(vector<int>& nums) {int len=nums.size();if (!len) return vector<vector<int>>(0);dfs(nums,0,len);return res;}void dfs(vector<int> nums, int step,int len){if (step==len){res.push_back(nums);return;}for (int i=step;i<len;i++){swap(nums[i],nums[step]);dfs(nums,step+1,len);swap(nums[i],nums[step]);}}vector<vector<int>> res;
};
class Solution {public:vector<vector<int>> permuteUnique(vector<int>& nums) {int len=nums.size();if (!len) return vector<vector<int>>(0);dfs(0,len,nums);return res;}void dfs(int step,int len,vector<int>& nums){if (step==len){res.push_back(nums);return ;}for (int i=step;i<len;i++){bool f=true;for (int j=i+1;j<len;j++){if (nums[j]==nums[i]){f=false;break;}}if (i==step||(nums[i]!=nums[step]&&f)){swap(nums[i],nums[step]);dfs(step+1,len,nums);swap(nums[i],nums[step]);}}}vector<vector<int>> res;
};
46. 全排列/47. 全排列 II相关推荐
- 46. 全排列 47. 全排列 II
46. 全排列 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 .你可以 按任意顺序 返回答案. 示例 1: 输入:nums = [1,2,3] 输出:[[1,2,3],[1,3,2 ...
- 46.全排列 47.全排列 II
题目 给定一个 没有重复 数字的序列,返回其所有可能的全排列. 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [ ...
- 【数字全排列】LeetCode 47. Permutations II
LeetCode 47. Permutations II Solution1:我的答案 笨蛋方法:和第46题的思路差不多,把vector换成了set就OK啦~~~ class Solution { p ...
- Suzy加油吧 Day 29 | 回溯算法进行中:491. 递增子序列,46 全排列,47 全排列2
491. 递增子序列(新 & 难) 呜呜呜呜呜 题目 给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素 .你可以按 任意顺序 返回答案. 数组 ...
- [LeetCode]47. 全排列 II
47. 全排列 II 难度中等761收藏分享切换为英文接收动态反馈 给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列. 示例 1: 输入:nums = [1,1,2] 输出 ...
- LeetCode 47. 全排列 II【数组,回溯算法,排序去重】
47. 全排列 II 给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列. 示例 1: 输入:nums = [1,1,2] 输出: [[1,1,2], [1,2,1], [2 ...
- LeetCode 47 全排列 II -- 回溯法
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/permutations-ii 题意: 给定一个可包含重复数字的序列 nums ,按任意顺序 返 ...
- LeetCode 47. 全排列 II
文章目录 解法1:回溯 + 剪枝 牛客网的全排列 https://leetcode-cn.com/problems/permutations-ii/ 难度:中等 给定一个可包含重复数字的序列,返回 ...
- leetcode 47. 全排列 II 思考分析
题目 给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列. 思考分析以及代码 这一题和前面的做过的两个题目有所关联: leetcode 46. 全排列 思考分析 再加上lee ...
最新文章
- java用什么编译器_用大白话告诉你,Java到底是什么
- 【BZOJ1452】[JSOI2009]Count(树状数组)
- Java DataInputStream readShort()方法(带示例)
- bzoj1008: [HNOI2008]越狱
- ubuntu16.04安装teamviewer12
- spring——autowire自动注入
- python txt转dataframe_Python格式化解析不规则txt文本并转为dataframe
- bzoj4558[JLoi2016]方 容斥+count
- python 笔记(一)
- 五方面入手精选数据库审计产品
- Serilog输出日志到mysql_ASP.NET Core利用Docker ElasticSearch Kibana来记录日志
- f12获取网页文本_【教程】如何抓取动态网页内容
- B站黑马Java基础+就业班+各种项目idea版本(正在更新)4测试 反射 注解
- Revit二次开发——选集
- 服务器怎么读取加密狗信息,[求助]菜鸟请教:加密狗读取数据如下,请问如何分析这些数据,怎样复制这个加密狗!...
- python期权定价公式_一揽子欧洲期权蒙特卡洛定价(python)(一)
- iOS13beta2版描述文件,修复了,修复了,修复了,可以用描述文件更新了
- 文件 MD5 SHA1 SHA256 SHA512 校验码生成工具 V1.3
- zotero+谷歌翻译不能用,最后的解决方案!
- 当页面放大后, 背景会消失
热门文章
- 大数据2019年的三大趋势你看了吗?
- c语言规定 程序中用到的变量一定要,C语言为什么要规定对所用到的变量要“先定义,后使用”...
- mysql如何计算qps_如何计算MySQL中的QPS及TPS指标
- Nature拳头综述(IF=71)| 上海科技大学钟超等人系统介绍合成生物学及未来潜在应用...
- 简单实用的PS亮度蒙版工具:Lumenzia Mac版
- 1282:最大子矩阵《信息学奥赛一本通》
- laragon环境更新安装新的php版本操作方法
- Spring Boot文档阅读笔记=Caching Data with Spring
- C++笔记-远程线程注入
- C++工作笔记-对结构体的进一步认识