昨天的
先大到小排
第一個diff digit就是我們要換的
然後再從後面找過來要跟誰換
https://i.imgur.com/vutTUsK.png
早上都沒人喔== 跑這麼快
def maximumSwap(self, num: int) -> int:
max_s = sorted(list(str(num)), reverse=True)
target_digit, target_idx = '', -1
for i in range(len(max_s)):
if max_s[i] != str(num)[i]:
target_digit = max_s[i]
target_idx = i
break
swap_idx = -1
for i in reversed(range(len(max_s))):
if target_digit == str(num)[i]:
swap_idx = i
break
ans = list(str(num))
ans[target_idx], ans[swap_idx] = ans[swap_idx], ans[target_idx]
return int(''.join(ans))