先求有,再求好。這個部分要稍微帶到演算法的時間和空間複雜度的概念,加上一些簡單實作。
課程相關資訊
[連結]:https://lidemy.com/p/alg101-leetcode
Course 94 ~ Course 97 (全部一共有 106 Courses)
請注意:本系列文章為個人對應課程的消化吸收後,所整理出來的內容。換言之,並不一定會包含全部的課程內容,也有可能會添加其他資源來說明。
內容
概念
時間換空間:增加執行時間來省空間
空間換時間:增加記憶體大小來節省時間
彼此是一種權衡,沒有誰對誰錯
時間複雜度
Big O 結果表格:https://www.bigocheatsheet.com/
演算法的效率,可以用「執行所需步驟」和「資料量 N」的關聯來衡量 -> O(n) [念法:Big O]
O(n) -> 執行所需步驟和資料量N成正比
空間複雜度
跟輸入的資料有關,也就是所佔的記憶體大小
Demo
1 2 3 4 5 6 7 8 9 10 |
//1035 function solve(lines){ let result = [] for(let i=1; i<lines.length; i++){ result.push(lines[i]) } result.sort((a,b)=> a-b>0 ? 1 : -1) for(let i=0; i<result.length;i++){ console.log(result[i]) } } |
相關文章
★全文分享★ [筆記] ALG101 – 先別急著寫 LeetCode22
最後一個為有效率的求取最大整數連續和
★全文分享★ [筆記] ALG101 – 先別急著寫 LeetCode21
先前做過的簡單排序法、搜尋數字,改用
★全文分享★ [筆記] ALG101 – 先別急著寫 LeetCode20
接著來練習用迴圈的方法來解決陣列最短
★全文分享★ [筆記] ALG101 – 先別急著寫 LeetCode19
接下來練習搜尋數字和連續整數和,先從
★全文分享★ [筆記] ALG101 – 先別急著寫 LeetCode17
接下來的兩題,其核心概念為 N 進位數和
★全文分享★ [筆記] ALG101 – 先別急著寫 LeetCode16
國中程度競賽題的實作,其實難度本身不
★全文分享★ [筆記] ALG101 – 先別急著寫 LeetCode15
接著要來進行一些國中程度競賽題的挑戰
★全文分享★ [筆記] ALG101 – 先別急著寫 LeetCode14
這篇筆記下實作 String.prototype.padEnd, String.p
★全文分享★ [筆記] ALG101 – 先別急著寫 LeetCode13
這篇筆記下實作 String.prototype.toLowerCase, Str
★全文分享★ [筆記] ALG101 – 先別急著寫 LeetCode12
這篇筆記下實作 Array.prototype.fill, Array.proto
★全文分享★ [筆記] ALG101 – 先別急著寫 LeetCode11
更多的練習是必要的,這篇筆記下實作 Arr
★全文分享★ [筆記] ALG101 – 先別急著寫 LeetCode10
雖說 JavaScript 已經有不少的內建函式,例
★全文分享★ [筆記] ALG101 – 先別急著寫 LeetCode9
到了經典題目的最後了,來練習求出最近
★全文分享★ [筆記] ALG101 – 先別急著寫 LeetCode8
繼續更多的練習,來進行加減乘除、迴文
★全文分享★ [筆記] ALG101 – 先別急著寫 LeetCode7
在盡可能不使用內建函式的情況下,來判
★全文分享★ [筆記] ALG101 – 先別急著寫 LeetCode6
經歷過前幾個單元的準備,總算是要進入
★全文分享★ [筆記] ALG101 – 先別急著寫 LeetCode5
這個階段透過實作練習,讓你可以了解到
★全文分享★ [筆記] ALG101 – 先別急著寫 LeetCode4
在實際解決題目之前,要先理解平台修改
★全文分享★ [筆記] ALG101 – 先別急著寫 LeetCode3
講述空間、時間和範圍型態的限制外,以
★全文分享★ [筆記] ALG101 – 先別急著寫 LeetCode2
除了撰寫虛擬碼外,另外一件重要的環節
★全文分享★ [筆記] Lidemy 鋰學院 – 先別急著寫 LeetCode – 1
近年來想要進行程式人員相關的面試前,