看板 Marginalman 關於我們 聯絡資訊
今天的 就從最後一個col往下搜,搜到就往左一col,再繼續往下 def countNegatives(self, grid: List[List[int]]) -> int: m, n = len(grid), len(grid[0]) cur_i = 0 rets = 0 for j in range(n-1, -1, -1): while cur_i<m and grid[cur_i][j] >= 0: cur_i += 1 rets += (m-cur_i) return rets 昨天的 看紀錄之前寫過 但完全忘記了 就照著寫吧 我用了兩個heap 應該是蠻無腦的做法 def mostBooked(self, n: int, meetings: List[List[int]]) -> int: free_room = [i for i in range(n)] ongoing = [] cnt = defaultdict(int) meetings.sort() for m in meetings: while ongoing and ongoing[0][0]<=m[0]: _, idx = heappop(ongoing) heappush(free_room, idx) if free_room: idx = heappop(free_room) heappush(ongoing, (m[1], idx)) cnt[idx] += 1 else: t, idx = heappop(ongoing) heappush(ongoing, (t+m[1]-m[0], idx)) cnt[idx] += 1 max_cnt, min_idx = 0, 100000 for k, v in cnt.items(): if v>max_cnt: max_cnt = v min_idx = k elif v==max_cnt and k<min_idx: min_idx = k return min_idx -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.132.58.28 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1766894221.A.BDB.html
JKWP: 大師 12/28 11:57
DJYOMIYAHINA: 哀現在都不敢打州賽了 12/28 11:58