Re: [閒聊] 每日leetcode

看板Marginalman作者 (dont)時間1年前 (2024/10/17 19:57), 編輯推噓1(211)
留言4則, 4人參與, 1年前最新討論串998/1548 (看更多)
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

10/17 20:00, 1年前 , 1F
大師
10/17 20:00, 1F

10/17 20:01, 1年前 , 2F
卷王
10/17 20:01, 2F

10/17 20:05, 1年前 , 3F
我兩天沒發文了捏
10/17 20:05, 3F

10/17 22:13, 1年前 , 4F
大師 你不發文我沒code能提交 :(
10/17 22:13, 4F
文章代碼(AID): #1d4Fl5gZ (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1d4Fl5gZ (Marginalman)