给出一个列表F 2651392641
得到列表F 2651394126
你题目的解答代码如下:
f = '2651392641'
f = list(map(int,f))
def fun(li):
d = len(li)-2
while d>=0 and li[d] >= li[d+1]:
d -= 1
if d<0:
return "无解"
m = len(li)-1
while li[m] <= li[d]:
m -= 1
li[m], li[d] = li[d], li[m]
li[d+1:] = sorted(li[d+1:])
return li
print(fun(f))
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
class Solution:
def nextPermutation(self, nums) -> None:
"""
Do not return anything, modify nums in-place instead.
"""
flag = -1
for i in range(len(nums)-2, -1, -1):
if nums[i] < nums[i+1]:
flag = i
break
if flag == -1:
nums.sort()
else:
for i in range(len(nums)-1, flag, -1):
if nums[i] > nums[flag]:
nums[i], nums[flag] = nums[flag], nums[i]
nums[flag+1:] = sorted(nums[flag+1:])
break
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!