46. Permutations
来源:互联网 发布:端口80被system占用 编辑:程序博客网 时间:2024/05/23 18:32
/*本算法思想是利用递归的方式实现数组的全排列,基本思想就是分别将数组中的每一个数字分别放在首位置,然后后面的数字进行递归的全排,直到首尾相遇,第一次全排结束,然后还原上一步,再全排*/class Solution {public:void Recursivepermute(vector<int>& nums, int start, int end, vector<vector<int>>&result){if (start == end)//首尾相遇时,证明一次全排结束,存入在结果数组;{result.push_back(nums);return;}else{for (int i = start; i <= end; i++)//从第一个数字开始,一次将每个数字放在首位置上;{swap(nums[i],nums[start]);Recursivepermute(nums, start + 1, end, result);swap(nums[i], nums[start]);//还原上一步完成全排之前的数组;以便进行下一次全排}}} vector<vector<int>> permute(vector<int>& nums) { vector<vector<int>>result; Recursivepermute(nums, 0, nums.size() - 1, result); return result; }};
0 0
- 46. Permutations
- 46. Permutations
- 46. Permutations
- 46. Permutations
- 46. Permutations
- 46. Permutations
- 46. Permutations
- 46. Permutations
- 46. Permutations
- 46. Permutations
- 46. Permutations
- 46. Permutations
- 46. Permutations
- 46. Permutations
- 46. Permutations
- 46. Permutations
- 46. Permutations
- 46. Permutations
- CentOS中Python pip包管理工具的安装和使用
- localStorage本地存储
- C++作业5:数组一
- javamail发送邮件
- PyQt for Mac安装
- 46. Permutations
- js正则表单验证(trim封装)
- C++中提示fatal error RC1015:cannot open include file 'afxres.h'
- SpringMVC预览上传图片功能的实现
- python-12-如何判断字符串a是否以字符串b开头或结尾(改变文件权限)?
- HBase API使用
- bitbucket教程 bitbucket官网注册 bitbucket入门手册 手把手操作指南
- 拓扑排序Topological Sorting
- 常用免费快递查询API对接案例