Maximum Swap LeetCode solution in Python
1class Solution:2def maximumSwap(self, num: int) -> int:3digits = [int(x) for x in str(num)]4n = len(digits)56for i in range(n):7maxx = digits[i]8indx = i910for j in range(i + 1, n):11if digits[j] >= maxx and digits[j] != digits[i]:12maxx = digits[j]13indx = j1415if indx != i:16digits[i], digits[indx] = digits[indx], digits[i]1718# only one swap allowed19return "".join([str(x) for x in digits])2021# already sorted22return num