P.S: 見到最近相關性的問題,想到用棧 見到有先後順序的時候,或者先來後到的時候用到 queue 20 有效括號 (亞馬遜、JPMorgan 在半年內面試常考) 凡是涉及到最近相關性的可以考慮到用棧解決 class Sol
目錄1. Stack 棧2. Queue 隊列3. Deque 雙端隊列4. Priority Queue 優先隊列 1. Stack 棧 先進後出(FILO),或者叫後進先出(LIFO) 操作 複雜度 添加 O(
P.S: 鏈表的末尾的那個的 next 指向 None 鏈表類的題目比較簡單,但是如果一不小心容易寫的特別複雜,需要在面試之前把複雜的鏈表題目再熟悉一下 206 反轉鏈表(字節跳動、亞馬遜在半年內面試常考) 本題參考題解 ```
Online Judge 與算法的特點 牛客網的是標準的輸入輸出,leetcode 是寫的函數,面試之前要兩者都進行訓練 貪心的題目 嘗試證明------->可以用貪心 找反證--------->證明不可以用貪心 如果沒有別
242 有效的字母異位詞(亞馬遜、Facebook、谷歌在半年內面試中考過) 注意切題四件套: clarification 和麪試官搞清楚題目的要求,即題面是什麼,比如在本題中需要搞清楚, 什麼是異位詞:異位詞是字母出現的次
26. 刪除排序數組中的重複項 class Solution: def removeDuplicates(self,nums:List[int])->int: # 雙指針 i = 0
1.圖的屬性和分類 本部分圖的內容,面試的時候應該根據被面試公司的情況看是否需要準備更多內容,文末有相關學習鏈接 圖的屬性 Graph(V, E):圖是點和邊的集合構成的 V -vertex:點 度:入度和出度 點與點之間
1.堆 Heap 定義:可以迅速找到一堆數中的最大值或者最小值的數據結構。 應用場景:經常是一個數一個數的過來,比如找最大值或者找最小值 分類:堆本身是一個抽象的數據結構,根據實現形式,將其分爲二叉堆、斐波那契堆等。 P.S: 二
242.有效的字母異位詞(亞馬遜、Facebook、谷歌在半年內面試中考過) class Solution: def isAnagram(self, s: str, t: str) -> bool: ret
94. 二叉樹的中序遍歷(亞馬遜、微軟、字節跳動在半年內面試中考過) 爲什麼有人說寫的遞歸程序效率不高,這個不是遞歸的原因,是因爲自己的邏輯問題,比如斐波那契數列那道題就是因爲遞歸沒有加緩存保留之前的狀態,導致寫出來的遞歸程序效率
學習過數據結構和算法的人一定不會對下面的幾張圖陌生了,這幾張圖展示的比較全,希望可以供自己備查,也可以幫助到更多的人 目錄1.常見的時間複雜度、空間複雜度的類型2.常見數據結構和算法的時間和空間複雜度3.常見的排序算法時間和空間複
1兩數之和(近半年內,字節跳動在面試中考查此題達到 152 次) class Solution(object): def twoSum(self, nums, target): dic = {}