LeetCode || Permutations
2015-09-07 11:55
316 查看
class Solution { public: void permutation(vector<int>& nums, int start, vector<vector<int>>& permu) { if(start == nums.size()) { permu.push_back(nums); } for(int i = start;i<nums.size();i++) { //交换i和start,相当于固定start位置的值 int tmp = nums[i]; nums[i] = nums[start]; nums[start] = tmp; permutation(nums, start+1, permu); //还原之前的交换 tmp = nums[i]; nums[i] = nums[start]; nums[start] = tmp; } } vector<vector<int>> permute(vector<int>& nums) { vector<vector<int>> permu; permutation(nums, 0, permu); return permu; } };
相关文章推荐
- MySQL 语句级避免重复插入—— Insert Select Not Exist
- 办公室英语2
- ubuntu 12.04 tomcat + jsp的入门
- 随手写了一段C++访问LDAP, 并且获取sid的代码
- mac idea 快捷键
- BaseAdapter里面处理单击事件
- Meteor全栈开发平台 - 不仅仅是前端
- hive删除表失败
- Spring--开篇 (spring优缺点、模块组件、各个jar包详解)
- java slf4j的用法
- log4j
- ubuntu12.04下安装与配置tomcat6
- [BZOJ 1001] 狼抓兔子
- linux grep命令
- 一年级产品汪自述
- 第一个clojure 的hello world程序
- Android之Handler用法总结
- STL - map学习总结
- dubbo服务治理
- DownLoadUtil