Next Permutation
来源:互联网 发布:filter() 数组 编辑:程序博客网 时间:2024/06/08 19:39
题目大意:给定一个数,求比这个数大的下一个序列
解题思路:方法跟http://blog.csdn.net/xiaoxiaoluo/article/details/44228995 这题的非递归解法一一样
class Solution {public: void nextPermutation(vector<int> &num) { int index = num.size() - 1; bool change = false; for(int i = num.size() - 1; i > 0; i--) { if(num[i - 1] < num[i]) { index = i; change = true; break; } } if(!change) { sort(num.begin(), num.end()); return; } for(int i = num.size() - 1; i > 0; i--) { if(num[i] > num[index - 1]) { swap(num[i], num[index - 1]); for(int low = index, high = num.size() - 1; low <= high; low++, high--) { swap(num[low], num[high]); } break; } } }};
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
- 【数据结构】二叉查找树
- c++第一题20150321
- POJ 2370 Democracy in Danger
- [leetcode]Min Stack
- OpenGL入门10——颜色混合
- Next Permutation
- NSBundle mainBundle] pathForResource 返回nil的解决办法
- Android Layout inflater
- 求三个正整数中的最大数
- git
- QT中setLayout无效的问题
- error:could not open ...jvm.cfg解决方法
- cocos2dx 3.4 进行android移植
- 人来疯是什么意思