Binary Search (4) 進階問題 – 陪你刷題

binary search 主題前面已經寫了三篇,建議依序看完前三篇再來看這篇。

本篇探討 binary search 的進階題,這類問題不會直覺聯想到使用 binary search 來處理,因為這類問題的搜尋區間與目標值都不明顯,一個簡單辨識這類問題的方式為,問題存在一定的單調性(monotonic),若 condition (k) 為 true ,則 condition (k+1), condition (k+2), ... 也為 true ,這就是一種單調性。

閱讀全文〈Binary Search (4) 進階問題 – 陪你刷題〉

Binary Search (3) template III 應用 – 陪你刷題

前面已經寫過兩篇 binary search 文章,分別介紹 binary search 以及它的不同 template ,建議先看過前兩篇文章,再來看這篇文章。

這篇文章將講解如何使用前篇文章中提到的 template 3 ,依照筆者經驗,到目前唯一碰到適合用 template 3 來解的也只有 Leetcode #34 ,這篇文章將講解如何使用前篇文章中提到的 template III ,如果搜尋區間內存在重複元素,適合使用 template III ,以下以 Leetcode #34 來講解。

閱讀全文〈Binary Search (3) template III 應用 – 陪你刷題〉

LeetCode #146 LRU cache – 陪你刷題

這是第一次寫專門探討單一題目的文章,本篇探討 LeetCode #146 的題目,要你設計一個資料結構實作出 LRU ,根據 LeetCode 的統計,這題在面試中有高機率會出現,尤其是亞馬遜。這題可能以其他應用情境來包裝,但本質上就是要你設計一個 LRU cache ,也因此讓我想要寫篇文章好好探討這題。

閱讀全文〈LeetCode #146 LRU cache – 陪你刷題〉