Given a list of integers, which denote a permutation.python
Find the next permutation in ascending order.code
Example
Example 1:ip
Input:[1]
Output:[1]
Example 2:get
Input:[1,3,2,3]
Output:[1,3,3,2]
Example 3:it
Input:[4,3,2,1]
Output:[1,2,3,4]
Notice
The list may contains duplicate integers.io
class Solution: """ @param nums: A list of integers @return: A list of integers """ def nextPermutation(self, num): # write your code here for i in range(len(num)-2, -1, -1): if num[i] < num[i+1]: break else: num.reverse() return num for j in range(len(num)-1, i, -1): if num[j] > num[i]: num[i], num[j] = num[j], num[i] break for j in range(0, (len(num) - i)//2): num[i+j+1], num[len(num)-j-1] = num[len(num)-j-1], num[i+j+1] return num
寫到懷疑人生。
一開始就沒好好注意條件活該!class