寻找下一个更大的数字
创建一个函数,它接受一个正整数并返回下一个更大的数字,该数字可以通过重新排列其数字来形成。例如:
12 ==> 21
513 ==> 531
2017 ==> 2071
nextBigger(num: 12) // returns 21
nextBigger(num: 513) // returns 531
nextBigger(num: 2017) // returns 2071
如果无法重新排列数字以形成更大的数字,请返回-1
:
9 ==> -1
111 ==> -1
531 ==> -1
题目难度:一般
def next_bigger(n:int) -> int:
# your code here
assert next_bigger(12) == 21
assert next_bigger(513) == 531
assert next_bigger(2017) == 2071
assert next_bigger(414) == 441
assert next_bigger(144) == 414
assert next_bigger(123456789) == 123456798
assert next_bigger(1234567890) == 1234567908
assert next_bigger(9876543210) == -1
assert next_bigger(9999999999) == -1
assert next_bigger(59884848459853) == 59884848483559