python写算法题:leetcode: 31. Next Permutation
2017-07-13 12:06
561 查看
https://leetcode.com/problems/next-permutation/#/description
class Solution(object): def nextPermutation(self, nums): """ :type nums: List[int] :rtype: void Do not return anything, modify nums in-place instead. """ if len(nums)<=1: return raisepos=0 for vpos in xrange(1,len(nums)): if nums[vpos-1]<nums[vpos]: raisepos=vpos if raisepos == 0: nums.sort() else: minv=nums[raisepos-1] reppos=raisepos for repind in xrange(raisepos+1, len(nums)): if nums[repind]>minv and nums[repind]<nums[reppos]: reppos=repind tmp=nums[reppos] nums[reppos]=minv nums[raisepos-1]=tmp nums[raisepos:]=sorted(nums[raisepos:])
相关文章推荐
- Python学习(Leetcode 算法题解【21~40】)
- 【python】【leetcode】【算法题目1—Two Sum】
- python写算法题:leetcode: 2. Add Two Numbers
- python写算法题:leetcode: 6. ZigZag Conversion
- python写算法题:leetcode: 5. Longest Palindromic Substring
- 31. Next Permutation Leetcode Python
- python写算法题:leetcode: 10. Regular Expression Matching
- [leetcode: Python]31.Next Permutation
- 【python】【leetcode】【算法题目167—Two Sum II - Input array is sorted】
- python写算法题:leetcode: 8. String to Integer (atoi)
- 【python】【leetcode】【算法题目2—Add Two Numbers】
- 【python】【leetcode】【算法题目344—Reverse String】
- 【python】【leetcode】【算法题目9—Palindrome Number】
- python写算法题:leetcode: 1. Two Sum
- 【python】【leetcode】【算法题目383—Ransom Note】
- Python 学习 (Leetcode 算法题解【easy部分 技巧总结】)
- 【python】【leetcode】【算法题目6—ZigZag Conversion】
- 【python】【leetcode】【算法题目389—Find the Difference】
- 算法导论程序31--红黑树的插入(Python)
- python写算法题:leetcode: 9. Palindrome Number