31 Next Permutations【M】【19】
来源:互联网 发布:上海整形医院 知乎 编辑:程序博客网 时间:2024/05/18 03:39
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
Subscribe to see which companies asked this question
算的还是挺麻烦的,用最naive的方法做的。。。理论上应该还有更棒的。。。。。。
class Solution(object): def nextPermutation(self, nums): t = 0 a = nums[:] a.sort(reverse = True) if a[:] == nums[:]: nums.reverse() return l = len(nums) if l == 1:# or nums == nums[::-1]: return t = l - 1 while t >= 0 and nums[t] > nums[t-1]: t -= 1 if l - t > 1: nums[l-1],nums[l-2] = nums[l-2],nums[l-1] return if t == l - 1: while t > 0 and nums[t] <= nums[t-1]: t -= 1 a = nums[t-1:l][::-1] a.sort() pos = a.index(nums[t-1],0,len(a)) + 1 while a[pos] == a[pos - 1]: pos += 1 nums[t-1] = a[pos] del a[pos] nums[t:l] = a[:] return
0 0
- 31 Next Permutations【M】【19】
- 31-m-Next Permutation
- LeetCode-Permutations && unique && next
- (M)Backtracking:46. Permutations
- 【LeetCode】Permutations & Permutations II & Next Permutations & Permutation Sequence
- 47. Permutations II 【M】【61】
- (M)Backtracking:47. Permutations II
- [LeetCode] Next Permutation、Permutations、Permutations II、Permutation Sequence
- 【leetcode 排列组合问题】Next Permutation | Permutations | Permutations II | Permutation Sequence
- 46. Permutations&&47. Permutations II&31. Next Permutation
- 【LeetCode】31. Next Permutations 下一个全排列
- 【C++】【LeetCode】31. Next Permutation && 46. Permutations
- 1931: Next m prime number
- N-Queens && II and Permutations && II && Next Permutation
- Permutations
- Permutations
- Permutations
- Permutations
- 半平面交 poj 3335(判断是否有内核) poj 3525 (半平面交+二分)
- Java 枚举类型
- Java知识点思维导视图
- mssql批量修改列类型
- 关于Activity和Fragment
- 31 Next Permutations【M】【19】
- python的import详解
- 工作随想
- Android官方开发文档Training系列课程中文版:高效显示位图之在UI中展示位图
- 记Hadoop2.5.0线上mapreduce任务执行map任务划分的一次问题解决
- 青蛙的约会----扩展欧几里得+乘法逆元
- SICP ex2-6 2-15 Alyssa
- UVA116 Unidirectional TSP
- BZOJ 2565: 最长双回文串