There is a specific algorithm to get the next permutation.
Solution:
# T:O(n) S:O(1) class Solution: # @param num, a list of integer # @return a list of integer def nextPermutation(self, num): partition = -1 for i in range(len(num)-2, -1, -1): if num[i] < num[i+1]: partition = i break if partition == -1: num.reverse() else: for i in range(len(num)-1, partition, -1): if num[i] > num[partition]: num[i],num[partition] = num[partition],num[i] break num[partition+1:len(num)]=num[partition+1:len(num)][::-1]Run Time: 76 ms
No comments:
Post a Comment