原创 【學習筆記】樹、二叉樹、二叉搜索樹

回顧: 單鏈表 查詢的 時間複雜度是 O(N) 的 詳見 1.樹 想象一下鏈表有多個 next 指針,則就產生了樹 2.二叉樹 Binary Tree 樹的節點都是隻有兩個的樹稱之爲二叉樹 樹和圖的區別是: 樹沒有環,而圖是有

原创 【leetcode】棧、隊列、雙端隊列、優先隊列實戰題目20 155 84 239 641 42

P.S: 見到最近相關性的問題,想到用棧 見到有先後順序的時候,或者先來後到的時候用到 queue 20 有效括號 (亞馬遜、JPMorgan 在半年內面試常考) 凡是涉及到最近相關性的可以考慮到用棧解決 class Sol

原创 【學習筆記】棧、隊列、雙端隊列、優先隊列

目錄1. Stack 棧2. Queue 隊列3. Deque 雙端隊列4. Priority Queue 優先隊列 1. Stack 棧 先進後出(FILO),或者叫後進先出(LIFO) 操作 複雜度 添加 O(

原创 【LeetCode】Linked List 實戰題目 206 24 141 142 25

P.S: 鏈表的末尾的那個的 next 指向 None 鏈表類的題目比較簡單,但是如果一不小心容易寫的特別複雜,需要在面試之前把複雜的鏈表題目再熟悉一下 206 反轉鏈表(字節跳動、亞馬遜在半年內面試常考) 本題參考題解 ```

原创 【問題解決】在git本地遠程推送到 github報錯 [rejected] master (fetch first) error: failed to push

報錯信息如下: 原因:本地庫和GitHub中的庫不同步 解決辦法: $ git pull --rebase origin master $ git push origin master 代碼解釋: 使用git pull --r

原创 【學習筆記】哈希表、字典、集合知識點

哈希表 Hash Table 哈希表,也叫散列表,是根據關鍵碼值(key-value)而直接進行訪問的數據結構。 通過將關鍵碼值映射到表中的一個位置來訪問記錄,以加快查找的速度。 這個映射函數叫做散列函數(Hash Functi

原创 【leetcode】貪心算法1338 455

Online Judge 與算法的特點 牛客網的是標準的輸入輸出,leetcode 是寫的函數,面試之前要兩者都進行訓練 貪心的題目 嘗試證明------->可以用貪心 找反證--------->證明不可以用貪心 如果沒有別

原创 【LeetCode】哈希表、字典、集合 實戰題目 242 49 1

242 有效的字母異位詞(亞馬遜、Facebook、谷歌在半年內面試中考過) 注意切題四件套: clarification 和麪試官搞清楚題目的要求,即題面是什麼,比如在本題中需要搞清楚, 什麼是異位詞:異位詞是字母出現的次

原创 【leetcode】 數組和鏈表練習題目 26 189 88 21

26. 刪除排序數組中的重複項 class Solution: def removeDuplicates(self,nums:List[int])->int: # 雙指針 i = 0

原创 【學習筆記】圖的實現和特徵

1.圖的屬性和分類 本部分圖的內容,面試的時候應該根據被面試公司的情況看是否需要準備更多內容,文末有相關學習鏈接 圖的屬性 Graph(V, E):圖是點和邊的集合構成的 V -vertex:點 度:入度和出度 點與點之間

原创 【學習筆記】堆Heap和 二叉堆 Binary Heap

1.堆 Heap 定義:可以迅速找到一堆數中的最大值或者最小值的數據結構。 應用場景:經常是一個數一個數的過來,比如找最大值或者找最小值 分類:堆本身是一個抽象的數據結構,根據實現形式,將其分爲二叉堆、斐波那契堆等。 P.S: 二

原创 【leetcode】哈希、樹、二叉樹、堆、二叉堆入門級練習題242 49 1 94 144 590 589 429 劍指offer40 239 劍指offer49 347

242.有效的字母異位詞(亞馬遜、Facebook、谷歌在半年內面試中考過) class Solution: def isAnagram(self, s: str, t: str) -> bool: ret

原创 【問題解決】Anaconda navigator閃退、無法正常啓動的解決方法

也許是因爲昨天一天沒有寫代碼,結果今天anaconda就打不開了,最後看了一篇博文把問題解決了,告誡自己,以後每天都要寫代碼呀!!! 參考

原创 【leetcode】樹、二叉樹、二叉搜索樹 實戰題目94 144 590 589

94. 二叉樹的中序遍歷(亞馬遜、微軟、字節跳動在半年內面試中考過) 爲什麼有人說寫的遞歸程序效率不高,這個不是遞歸的原因,是因爲自己的邏輯問題,比如斐波那契數列那道題就是因爲遞歸沒有加緩存保留之前的狀態,導致寫出來的遞歸程序效率

原创 【學習筆記】heapq_API

Python內置的heapq模塊 import heapq 1. heapq.heappush(heap,item) # 將 item 壓入到 heap 裏面 items = [1,2,9,7,3] heapq.heappus