今年是第二次參加,這次一樣努力以不斷賽為目標 不知不覺默默已經工作好一陣子了,從一開始覺得演算法好像用不太到,離我好像很遠,慢慢開始發現到處都是資料結構跟演算法...
時間複雜度(Time complexity) 我們要怎麼知道一個程式要跑多久? 正常來說要真的執行下去才精準知道,那有沒有事前可以預估的方式? 有的,一般來說我...
為了解釋時間跟空間的取捨,來一條leetcode的題目,就是最經典的第一題Two Sum 輸入一組array、數值target,請從array中尋找兩個數字加總...
Leetcode #167 Two Sum II題目跟上一篇的Two Sum是一樣的,差別在array是經排序的。 Two Pointer是一種演算法技巧,大家...
Leetcode #209. Minimum Size Subarray Sum 簡單來說題目會給一組array、數值target,尋找可加總>=targ...
線性的資料儲存方式一般有兩種 array (陣列) list node (鏈結) 這兩種差別到底在那,幹嘛不都用array就好了,簡單易用!? 為了要解釋這...
什麼是鏈結? 每一個節點上,都記著了下一個節點的地址 這樣做法的好處是可以用非連續的空間來儲存資料,避免掉連續空間會不足的問題 這種資料結構叫單向鏈結,每一個節...
Leetcode #206. Reverse Linked List 簡單來說這一題要做反轉鏈結ex.input: 1->2->3->4ou...
Leetcode #2. Add Two Numbers 簡單來說就是要做兩個鏈結的加總 ex.1Input: list 1: 2->4->3, l...
Stack(堆疊)是一種後進先出(LIFO)的資料結構 看一下圖 註:圖源 你可以想像一下在廚房洗碗,盤子在洗手臺堆起來,你一定是從最上面開始開,不會從最底。...