您已给出正数。你必须使用数字中可用的相同数字找到一个比这更大的数字。
使用相同时间的相同数字,以正整数表示,如果不可能,则返回-1。
例如: (1)你给出了一个数字7585,你的输出应该是7855。 (2)7111,返回-1。
谢谢,
钟
答案 0 :(得分:2)
易:
def findnext(i):
array = digitsOf(i)
n = max_int
for perm in permutations(array):
if(number(perm) > i):
n = min(number(perm), n)
if n=max_int:
return -1
else:
return n
答案 1 :(得分:1)
在较小的数字之后找到一个更大的数字(从最低有效数字开始),然后交换它们。
答案 2 :(得分:0)
转换为字符串 分成单个数字并推入数组 对数组进行降序排序 数组到字符串 字符串到数字 如果新数字高于旧数字,则返回它,如果不是则返回-1