LeetCode 31. Next Permutation
来源:互联网 发布:centos识别u盘 编辑:程序博客网 时间:2024/06/05 17:55
#include <vector>#include <iostream>#include <algorithm>using namespace std;/* 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 example.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 The given example actually is not that clear. Think about this one: 1, 3, 2 -> 2, 1, 3 the process is first locate "1" position. swap(1, 2) and reverse the following.*/vector<int> nextPermutation(vector<int> nums) { int k = nums.size() - 2; while(k >= 0 && nums[k] >= nums[k+1]) { k--; } if(k == -1) { return {}; } for(int i = nums.size() - 1; i > k; --i) { if(nums[i] > nums[k]) { swap(nums[i], nums[k]); break; } } reverse(nums.begin() + k + 1, nums.end()); return nums;}int main(void) { vector<int> nums{1, 3, 2}; vector<int> res = nextPermutation(nums); for(int i = 0; i < res.size(); ++i) { cout << res[i] << " "; }} 1,1 Top
0 0
- [LeetCode]31.Next Permutation
- LeetCode --- 31. Next Permutation
- [Leetcode] 31. Next Permutation
- LeetCode 31.Next Permutation
- [leetcode] 31.Next Permutation
- [leetcode] 31. Next Permutation
- *LeetCode 31. Next Permutation
- Leetcode 31. Next Permutation
- leetcode 31. Next Permutation
- 31. Next Permutation LeetCode
- leetcode 31. Next Permutation
- leetcode 31. Next Permutation
- [LeetCode]31. Next Permutation
- [LeetCode]31. Next Permutation
- LeetCode 31. Next Permutation
- 【leetcode】31. Next Permutation
- LeetCode *** 31. Next Permutation
- leetcode 31. Next Permutation
- 反腐不能由反腐败机构垄断
- spark读取redis数据(交互式,scala单机版,java单机版)
- 多个Filter的执行顺序是如何确定
- iOS开发导包时选项的意义
- linux c++ 同步、异步简单实例
- LeetCode 31. Next Permutation
- UIView动画
- jquery attr方法获取input的checked属性问题
- ICMP协议数据包捕获
- 内存对齐及#pragma pack的使用
- java修饰符简单总结,this关键字的不完全理解.
- Excel使用技巧
- 大数组合数取模(逆元+打表)
- 电路中串联 并联 电阻作用