permutations l
2015-11-28 16:19
197 查看
class Solution { public: vector<vector<int>> permute(vector<int>& nums) { vector<vector<int>> ret; sort(nums.begin(),nums.end()); int size=nums.size(); if(size==0) return ret; if(size==1){ ret.push_back(nums); return ret; } int sum=1; for(int i=1;i<=size;i++){ sum*=i; } ret.push_back(nums); int i; for(i=1;i<sum;i++){ int j; int m; j=size-1; while(j>0&&nums[j-1]>=nums[j]) j--; m=j; while(m<size&&nums[j-1]<nums[m])m++; int temp=nums[m-1]; nums[m-1]=nums[j-1]; cout<<"HHHH"<<endl; nums[j-1]=temp; reverse(nums.begin()+j,nums.end()); cout<<"llll"<<endl; ret.push_back(nums); } return ret; } };
相关文章推荐
- 阿里fastjson.jar使用
- hbase过滤器
- 关于指纹解锁那些事
- 67. 查询分页数据(2)
- 【Leetcode】Combination Sum III
- 桶排序
- MYSQL---命令行方式导入sql文件
- C++拷贝构造函数
- centOS 更新python版本
- 【译】聚类分析
- 1-3-17:用边长求三角形面积
- Restore IP Addresses
- Zabbix 2.4.5 源码包安装及使用
- Bug 小记(**贵金属)
- 利用Dojo进行DOM事件编程
- CSS3 新增颜色表示方式
- 【64.22】【E】【leetcode】Pascal's Triangle II
- codeforces B.Queries about less or equal elements
- Android改变状态栏
- 我的第一篇博客 嘿嘿