Re: [閒聊] 每日leetcode

看板Marginalman作者 (通通打死)時間10月前 (2025/02/08 20:27), 編輯推噓2(201)
留言3則, 3人參與, 10月前最新討論串1328/1552 (看更多)
針對出現過的number都maintain一個minheap change的時候 只管把index push到對應的minheap 不去管被替代掉的數字的heap 只是find的時候 要去確認pop出的index位置 是不是真的是那個number 若否 則繼續pop到是為止 若heap空了就回傳-1 我也不知道為啥會想到這種方法 def __init__(self): self.mp = defaultdict(list) self.arr = {} def change(self, index, number): """ :type index: int :type number: int :rtype: None """ heappush(self.mp[number], index) self.arr[index] = number return def find(self, number): """ :type number: int :rtype: int """ while len(self.mp[number]) != 0: cur_idx = self.mp[number][0] if cur_idx in self.arr and self.arr[cur_idx]==number: return cur_idx else: heappop(self.mp[number]) return -1 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.229.37.69 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1739017657.A.920.html

02/08 20:28, 10月前 , 1F
我居然是今天第一篇 你們就繼續板聚沒關係
02/08 20:28, 1F

02/08 20:28, 10月前 , 2F
對不起
02/08 20:28, 2F

02/08 20:29, 10月前 , 3F
別捲了
02/08 20:29, 3F
文章代碼(AID): #1dfqsvaW (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1dfqsvaW (Marginalman)