LeetCode 46——全排列
1. 题目
2. 解答
给定一个序列,序列中的任意一个数字都可以作为全排列的最后一位。然后,其余位置元素的确定便是剩余元素的一个全排列,也就是一个子问题。
例子中 [1, 2, 3] 的全排列,最后一位可以是 1 或者 2 或者 3。如果最后一位是 3,前两位便是 [1, 2] 的全排列。
我们用递归来实现,变量 k 一开始为序列的长度,每次求解子问题的时候减一。递归终止条件为 k=1,一个元素的全排列只有它自己。
class Solution {public:vector<vector<int>> result;vector<vector<int>> permute(vector<int>& nums) {int n = nums.size();Generate_Premutations(nums, n, n);return result;}void Generate_Premutations(vector<int>& nums, int n, int k){if (k == 1){result.push_back(nums);return;}// 任何一个数字都可以作为全排列的最后一位for (int i = 0; i < k; i++){int temp = nums[i];nums[i] = nums[k-1];nums[k-1] = temp;// 最后一位数字确定后,余下的是一个全排列的子问题Generate_Premutations(nums, n, k-1);// 恢复原数组temp = nums[i];nums[i] = nums[k-1];nums[k-1] = temp;}}
};
获取更多精彩,请关注「seniusen」!
LeetCode 46——全排列相关推荐
- LeetCode 46. 全排列(回溯)
文章目录 1. 题目信息 2. 解题 2.1 利用hash map解决 2.2 改用bool数组判断是否出现过 1. 题目信息 给定一个没有重复数字的序列,返回其所有可能的全排列. 示例:输入: [1 ...
- leetcode —— 46. 全排列(递归+回溯)
给定一个 没有重复 数字的序列,返回其所有可能的全排列. 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2 ...
- leetcode - 46. 全排列(对vector容器的元素进行搜索,判断是否存在vector中)
给定一个没有重复数字的序列,返回其所有可能的全排列. 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1 ...
- LeetCode 46.全排列
题目描述: 给定一个没有重复数字的序列,返回其所有可能的全排列. 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], ...
- leetcode 46 全排列
难度:中等 频次:119 题目: 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 .你可以 按任意顺序 返回答案. 解题思路:回溯遍历 class Solution {public ...
- Leetcode 46.全排列 (每日一题 20210621)
给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 .你可以 按任意顺序 返回答案.示例 1:输入:nums = [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3], ...
- leetcode 46. 全排列 思考分析
目录 1.题目 2.思考 3.优化 1.题目 给定一个 没有重复 数字的序列,返回其所有可能的全排列. 2.思考 老规矩,先画出给出的例子的解空间树: 观察我们可以发现: 1.深度向下一层深入时,出现 ...
- leetcode — 46. 全排列(不含重复数字)
给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 .你可以 按任意顺序 返回答案. 示例 1: 输入:nums = [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3 ...
- LeetCode 46. 全排列 Permutations
给定一个没有重复数字的序列,返回其所有可能的全排列. 示例: 输入: [1,2,3] 输出: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1] ] 您是 ...
最新文章
- python类和对象课件_简单解释Python的类和对象
- Android之ksoap2-android详解与调用天气预报Webservice完整实例
- bat maven 一键打包 3.0
- java学习笔记(六)----对象的类型转换, 匿名内置类
- netty 管道和handler的加载和处理流程
- 独立成分分析ICA系列4:ICA的最优估计方法综述
- Python的Pexpect库
- 什么是php的ast结构,什么是AST?Vue源码中AST语法树的解析
- python学习第29天
- 为什么表格后面打不出0_同样的LOL游戏,为什么BO5和BO3的结局差距如此之大?...
- python多线程 _thread没有上lock时程序提前给你把可执行的都执行,不按代码编写顺序执行
- 充电枪cp信号控制板_比亚迪E5无法交流充电故障检修
- 川轻化c语言实验答案,C语言实验目().doc
- Linux程序设计(常用Linux命令)
- 你学习·我奖励,21天学习挑战赛 | 等你来战
- 第1节 细胞是生命活动的基本单位
- 在训练的时候loss增大怎么办
- springboot+基于Web的开关柜综合监测信息查询系统的设计与实现 毕业设计-附源码191550
- 实验一:Cifar10图像分类竞赛 学习记录
- java-php-python-ssm-心灵治愈服务平台-计算机毕业设计