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相关推荐

  1. 46. 全排列 47. 全排列 II

    46. 全排列 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 .你可以 按任意顺序 返回答案. 示例 1: 输入:nums = [1,2,3] 输出:[[1,2,3],[1,3,2 ...

  2. 46.全排列 47.全排列 II

    题目 给定一个 没有重复 数字的序列,返回其所有可能的全排列. 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [ ...

  3. 【数字全排列】LeetCode 47. Permutations II

    LeetCode 47. Permutations II Solution1:我的答案 笨蛋方法:和第46题的思路差不多,把vector换成了set就OK啦~~~ class Solution { p ...

  4. Suzy加油吧 Day 29 | 回溯算法进行中:491. 递增子序列,46 全排列,47 全排列2

    491. 递增子序列(新 & 难) 呜呜呜呜呜 题目 给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素 .你可以按 任意顺序 返回答案. 数组 ...

  5. [LeetCode]47. 全排列 II

    47. 全排列 II 难度中等761收藏分享切换为英文接收动态反馈 给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列. 示例 1: 输入:nums = [1,1,2] 输出 ...

  6. LeetCode 47. 全排列 II【数组,回溯算法,排序去重】

    47. 全排列 II 给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列. 示例 1: 输入:nums = [1,1,2] 输出: [[1,1,2], [1,2,1], [2 ...

  7. LeetCode 47 全排列 II -- 回溯法

    来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/permutations-ii 题意: 给定一个可包含重复数字的序列 nums ,按任意顺序 返 ...

  8. LeetCode 47. 全排列 II

    文章目录 解法1:回溯 + 剪枝 牛客网的全排列 https://leetcode-cn.com/problems/permutations-ii/ 难度:中等   给定一个可包含重复数字的序列,返回 ...

  9. leetcode 47. 全排列 II 思考分析

    题目 给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列. 思考分析以及代码 这一题和前面的做过的两个题目有所关联: leetcode 46. 全排列 思考分析 再加上lee ...

最新文章

  1. java用什么编译器_用大白话告诉你,Java到底是什么
  2. 【BZOJ1452】[JSOI2009]Count(树状数组)
  3. Java DataInputStream readShort()方法(带示例)
  4. bzoj1008: [HNOI2008]越狱
  5. ubuntu16.04安装teamviewer12
  6. spring——autowire自动注入
  7. python txt转dataframe_Python格式化解析不规则txt文本并转为dataframe
  8. bzoj4558[JLoi2016]方 容斥+count
  9. python 笔记(一)
  10. 五方面入手精选数据库审计产品
  11. Serilog输出日志到mysql_ASP.NET Core利用Docker ElasticSearch Kibana来记录日志
  12. f12获取网页文本_【教程】如何抓取动态网页内容
  13. B站黑马Java基础+就业班+各种项目idea版本(正在更新)4测试 反射 注解
  14. Revit二次开发——选集
  15. 服务器怎么读取加密狗信息,[求助]菜鸟请教:加密狗读取数据如下,请问如何分析这些数据,怎样复制这个加密狗!...
  16. python期权定价公式_一揽子欧洲期权蒙特卡洛定价(python)(一)
  17. iOS13beta2版描述文件,修复了,修复了,修复了,可以用描述文件更新了
  18. 文件 MD5 SHA1 SHA256 SHA512 校验码生成工具 V1.3
  19. zotero+谷歌翻译不能用,最后的解决方案!
  20. 当页面放大后, 背景会消失

热门文章

  1. 大数据2019年的三大趋势你看了吗?
  2. c语言规定 程序中用到的变量一定要,C语言为什么要规定对所用到的变量要“先定义,后使用”...
  3. mysql如何计算qps_如何计算MySQL中的QPS及TPS指标
  4. Nature拳头综述(IF=71)| 上海科技大学钟超等人系统介绍合成生物学及未来潜在应用...
  5. 简单实用的PS亮度蒙版工具:Lumenzia Mac版
  6. 1282:最大子矩阵《信息学奥赛一本通》
  7. laragon环境更新安装新的php版本操作方法
  8. Spring Boot文档阅读笔记=Caching Data with Spring
  9. C++笔记-远程线程注入
  10. C++工作笔记-对结构体的进一步认识