给定数字A,找到一个比A大的数字B,用和A相同的数字

  • 本文关键字:数字 一个 用和 algorithm
  • 更新时间 :
  • 英文 :


您给出的是正数。你必须找到一个比这个数字大得多的数字,使用这个数字中相同的数字。

使用相同的数字和相同的时间,以正整数形式出现,如果小数不可能,则必须返回-1。

例如

:你给出的数字是7585,你的输出应该是7855。(2) 7111,返回-1

谢谢,钟

Easy:

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

最新更新