You are given an integer num
. You can swap two digits at most once to get the maximum valued number.
Return the maximum valued number you can get.
Example 1:
Input: num = 2736
Output: 7236
Explanation: Swap the number 2 and the number 7.
Example 2:
Input: num = 9973
Output: 9973
Explanation: No swap.
Constraints:
-
0 <= num <= 108
SOLUTION:
class Solution:
def maximumSwap(self, num: int) -> int:
currmax = num
d = list(str(num))
n = len(d)
for i in range(n - 1):
j = max([(int(d[k]), k) for k in range(i + 1, n)])[1]
if int(d[j]) > int(d[i]):
d[i], d[j] = d[j], d[i]
break
currmax = max(currmax, int("".join(d)))
return currmax
Top comments (0)