1673. Find the Most Competitive Subsequence
我們必須先了解題目中的 competitive subsequence 是什麼。當 a 比 b 更 competitive 時,這是指在相同的位置上,a 的字母比 b 的字母小。
503. Next Greater Element II
此題要我們找 nums 中,每個數字的下一個較大的數字。我們可以用 decreasing monotonic stack 來解。
211. Design Add and Search Words Data Structure
此題要我們建立一個 word dictionary,這很明顯就是要使用 Trie。不過題目還要可以支援 dots ‘.’。在搜尋的時候,它可以匹配任何字元。
117. Populating Next Right Pointers in Each Node II
此題要我們將每一層中的左邊 node 的 next 指向右邊的 node。因為是一層一層地處理,所以很直覺地可以想到用 BFS 來解。我們需要兩個 queue,這樣才可以分清目前的層與下一層。
116. Populating Next Right Pointers in Each Node
此題要我們將每一層中的左邊 node 的 next 指向右邊的 node。因為是一層一層地處理,所以很直覺地可以想到用 BFS 來解。我們需要兩個 queue,這樣才可以分清目前的層與下一層。
1376. Time Needed to Inform All Employees
一開始看完題目後,大概可以感覺出來應該用 DFS 來解。用 DFS 計算每一條從 headID 到 leaf 的通知時間總和,最後取最大的時間。
200. Number of Islands
解這題的想法是,對每一個未訪問過的 land,用 DFS 或 BFS 去訪問相鄰 lands。當相鄰 cell 為 land 時,再繼續訪問其相鄰 lands,一直無法再擴張為止。這樣就得到一個 island。然後,再找下一個未訪問過的 land 做上述相同的動作,一直到所有的 land 都被訪問過。