Next Permutation
来源:互联网 发布:mac ps盖印图层快捷键 编辑:程序博客网 时间:2024/05/17 07:38
Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers.If such arrangement is not possible, it must rearrange it as the lowest possible order (ie, sorted in ascending order).
The replacement must be in-place, do not allocate extra memory.
Here are some examples. Inputs are in the left-hand column and its corresponding outputs are in the right-hand column.1,2,3
→ 1,3,2
3,2,1
→ 1,2,3
1,1,5
→ 1,5,1
class Solution {public: void nextPermutation(vector<int> &num) { if(num.size()<=1) return ; int i=num.size()-1; bool isFind = false; for(;i>=1;--i){ if(num[i] > num[i-1]) { isFind=true; break; } } if(!isFind) {//当前已经是最后一个排列了 reverse(num.begin(),num.end()); return; } int j=num.size()-1; for(;j > i-1 ;--j){ if(num[j]>num[i-1]){ swap(num[j],num[i-1]); reverse(num.begin()+i,num.end()); return; } } }};
0 0
- Next Permutation
- Next Permutation
- Next Permutation
- Next Permutation
- Next Permutation
- Next Permutation
- Next Permutation
- Next Permutation
- Next Permutation
- Next Permutation
- Next Permutation
- Next Permutation
- Next Permutation
- Next Permutation
- Next Permutation
- Next Permutation
- Next Permutation
- Next Permutation
- cordrova体系结构与环境搭建
- 希尔排序
- XMPP协议的原理
- 想要页面自动解析从数据库获得的数据中的html标签的方法
- 【C#】vs2012 安装与部署 怎么打包程序(InstallShield 2013 Limited Edition for Visual Studio)
- Next Permutation
- iOS POST请求 有中文的时候
- 复杂网络建模 社交网络图的一些计算代码(不全欢迎补充)MATLAB
- sms ios 注入
- eclipse模板代码的使用
- 延迟跳转
- 实验楼项目课学习笔记-jQuery翻转拼图游戏
- 负载均衡( Load Balancing )
- 循环链表报数问题,n个人编号分别为1,2,3,……n,从第k个编号开始数1,2到m个然后删除第m个人,然后下 一个人再从1开始数数到第m个,然后再删除m人