Leetcode 70 100習題選講

2021-09-20 07:26:58 字數 644 閱讀 3503

73. 矩陣置零

給定乙個 m x n 的矩陣,如果乙個元素為 0,則將其所在行和列的所有元素都設為 0。請使用原地演算法

如果遇到零就把行和列都變為零,那麼最後所有元素都是0, 所以要先把要置零的行和列都存下來,然後再遍歷一遍即可。

74. 搜尋二維矩陣

編寫乙個高效的演算法來判斷 m x n 矩陣中,是否存在乙個目標值。該矩陣具有如下特性:

這道題目就是將二維陣列轉化為一維陣列然後用標準的二分查詢

80. 刪除排序陣列中的重複項 ii

給定乙個排序陣列,你需要在原地刪除重複出現的元素,使得每個元素最多出現兩次,返回移除後陣列的新長度。

不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o(1) 額外空間的條件下完成。

這道題目是一道經典的雙指標題目,遍歷過程中核心公式為 nums[i++] = nums[j] if(i<2 || nums[j]>nums[i-2])

100. 相同的樹

給定兩個二叉樹,編寫乙個函式來檢驗它們是否相同。

如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。

這是一道基本的二叉樹遍歷問題。

leetcode 佇列習題

最近的請求次數 寫乙個 recentcounter 類來計算最近的請求。它只有乙個方法 ping int t 其中 t 代表以毫秒為單位的某個時間。返回從 3000 毫秒前到現在的 ping 數。任何處於 t 3000,t 時間範圍之內的 ping 都將會被計算在內,包括當前 指 t 時刻 的 pi...

LeetCode習題整理(一)

將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。我的想法是逐個比較兩個鍊錶各項的大小 模擬過程 l1第一項比較l2第一項相等 執行l2的第一項插入到l1的第二項,此時的l1 1,1,2,4 l2 1,3,4 l1需指向下乙個結點,兩表指向下乙個結點,迴圈過...

字典樹leetcode習題

給出乙個字串陣列words組成的一本英語詞典。從中找出最長的乙個單詞,該單詞是由words詞典中其他單詞逐步新增乙個字母組成。若其中有多個可行的答案,則返回答案中字典序最小的單詞。若無答案,則返回空字串。例項 輸入 words w wo wor worl world 輸出 world 解釋 單詞 w...