這題讓我更清楚地知道樹的深度和直徑其實是有關聯的。一開始我以為直徑就是樹的最大深度,但其實不是。直徑指的是兩個節點之間最長的路徑,而這條路通常會經過某個節點的左...
這題要判斷二元樹中,是否有一條從根節點到葉節點的路徑,路徑上所有節點的值加起來剛好等於指定的數。一開始看起來好像要把所有路徑都列出來,但其實用遞迴就能簡單解決。...
我將這週的題目重複練習並統整。這幾天練習的題目都跟「二元樹」有關,像是找最大深度、反轉樹、判斷相同或對稱的樹、計算樹的直徑,還有檢查路徑總和。剛開始看到樹的題目...
這題一開始看起來有點麻煩,因為要找出哪些區間有重疊。不過後來發現只要先把區間按照「起點」排序,其實就很好處理。排好之後就一個一個看:如果下一個區間的起點在目前區...
這題主要是在練習怎麼用「排序加雙指針」的方式去找出三個數字的組合。一開始如果用三層迴圈去暴力搜尋,雖然能做出來,但速度會很慢。後來發現只要先把陣列排序,再固定一...
這題一開始看起來像是普通的二分搜尋,但實際上多了一個「旋轉」的變化。關鍵在於每次中間切開後,至少有一邊仍然是有序的。只要能判斷出哪一半是有序的,再判斷 targ...
這題剛開始看起來好像只是單純加總問題,但關鍵在於「不能搶相鄰的房子」,所以沒辦法直接用貪心法解。一開始我有點卡在要怎麼記錄前面的狀態,後來才想到用動態規劃的方式...
這題一開始看起來好像只是單純的數步數問題,但實際上背後的邏輯跟費波那契數列一樣。因為到達第n階的方法,就是從第n-1階或第n-2階走上來的總和。一開始我用遞迴寫...
這題剛開始看會覺得有點複雜,因為要判斷哪些「1」是同一個島、哪些是分開的。但想通之後,其實就是個搜尋問題:只要找到一個「1」,就用 DFS 或 BFS 把跟它相...
這題剛開始做的時候覺得蠻燒腦的,因為要在一堆字母裡找出一條剛好能組成單字的路,而且還不能重複走同一格。一開始我沒想到要用回溯,結果卡了很久;後來發現其實就是不斷...