# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param cows int整型一维数组 # @return int整型一维数组 # class Solution: def nextPermutation(self , cows: List[int]) -> List[int]: # write code here n = len(cows) for i in range(n-1): if cows[n-1-i]<cows[n-i-2]: t = cows[n-i-1] cows[n-i-1]=cows[n-i-2] cows[n-i-2]=t #到这一步找到了罪魁祸首的值,但是调换了以后没有变成最近邻的 例如:9,8,3,2,4此时变成了9,8,2,3,4。正确答案是 9,8,2,4,3,故其实是要把后面的一部分倒序输出 return cows[0:-i-1]+cows[-1:-i-2:-1] #前面一部分正序输出,后面一部分倒序输出 return cows[::-1] #对于本来就最小的,直接倒序就好啦 # for j in range(i): # dfs(cows,j)