Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def next_bigger(n):
- n = [int(x) for x in str(n)]
- key = []
- if len(n) <= 1:
- return -1
- for i in range(len(n) - 1, 0, -1):
- if n[i] > n[i - 1]:
- cor = [n[x] for x in range(i - 1, len(n))]
- for num in cor:
- if num > cor[0]:
- key.append(num)
- key = sorted(key)
- z = cor.index(key[0])
- cor[0], cor[z] = cor[z], cor[0]
- cor = str(cor[0]) + ''.join(sorted([str(cor[x]) for x in range(1, len(cor))]))
- m = 0
- for j in range(i - 1, len(n)):
- n[j] = int(cor[m])
- m += 1
- return int(''.join([str(n[x]) for x in range(len(n))]))
- return -1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement