题目:​​原题链接​(中等)

标签:数组、数学

解法

时间复杂度

空间复杂度

执行用时

Ans 1 (Python)

O ( l o g N )

O ( l o g N )

52ms (6.21%)

Ans 2 (Python)

Ans 3 (Python)

解法一:

class Solution:
def maximumSwap(self, num: int) -> int:
num = [int(ch) for ch in str(num)]
for i in range(len(num)):
max_idx, mav_val = i, num[i]
for j in range(i + 1, len(num)):
if mav_val <= num[j] and num[i] < num[j]:
max_idx, mav_val = j, num[j]
if max_idx != i:
num[i], num[max_idx] = num[max_idx], num[i]
break
return int("".join(str(i) for i in num))