Re: [閒聊] 每日leetcode

看板Marginalman作者 (dont)時間1年前 (2024/10/22 21:02), 編輯推噓0(001)
留言1則, 1人參與, 1年前最新討論串1023/1548 (看更多)
2583. Kth Largest Sum in a Binary Tree ## 思路 BFS計算每層的總和, 丟到 k-size的min-heap ## Code ```python # Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=None, right=None): # self.val = val # self.left = left # self.right = right class Solution: def kthLargestLevelSum(self, root: Optional[TreeNode], k: int) -> int: heap = [] queue = deque([root]) while queue: curr = 0 for _ in range(len(queue)): node = queue.popleft() curr += node.val if node.left: queue.append(node.left) if node.right: queue.append(node.right) heapq.heappush(heap, curr) if len(heap) > k: heapq.heappop(heap) return -1 if len(heap) < k else heap[0] ``` -- https://i.imgur.com/kyBhy6o.jpeg
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 94.156.205.31 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1729602147.A.BD7.html

10/22 21:05, 1年前 , 1F
大師 教我
10/22 21:05, 1F
文章代碼(AID): #1d5w9ZlN (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1d5w9ZlN (Marginalman)