精華區beta Marginalman 關於我們 聯絡資訊
670. Maximum Swap ## 思路 先轉成str list 再從後面掃回來, 記錄當前最大值的idx 如果目前的值比最大值還小, 就更新swap的idx pair ## Code ```python class Solution: def maximumSwap(self, num: int) -> int: arr = list(str(num)) n = len(arr) max_idx = n-1 swap = None for i in range(n-2, -1, -1): if arr[i] > arr[max_idx]: max_idx = i elif arr[i] < arr[max_idx]: swap = (i, max_idx) if swap: arr[swap[0]], arr[swap[1]] = arr[swap[1]], arr[swap[0]] return int(''.join(arr)) ``` -- https://i.imgur.com/kyBhy6o.jpeg -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 94.156.205.191 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1729166277.A.AA3.html
sustainer123: 大師 10/17 20:00
Sougou: 卷王 10/17 20:01
dont: 我兩天沒發文了捏 10/17 20:05
JerryChungYC: 大師 你不發文我沒code能提交 :( 10/17 22:13