LeetCode題解Js版
https://webbj97.github.io/leetCode-Js/
題外話
項目背景
旨在提高自己對算法的理解,將題解總結成文章,有利於未來自查,也希望能對大家有所幫助。
如果該項目能對大家起到積極的作用,就算成功了,歡迎大家留言交流,接受批評和指正~
通過傳送門可以跳轉至LeetCode題解的gitbook版本,方便大家快速瀏覽
本倉庫暫時分爲三個部分
- 第一個是按照題庫順序以及自己刷題的先後排列的LeetCode題解
- 第二個是每日一題相關的LeeTCode題解(帶完善)
- 第三個以專題類型爲區分的題解(待完善)
記錄:
- 2020.04.22 — leetcode題解達到100
關於我
decs: 花名:餘光,沉迷Js,水平有限,虛心學習中
E-mail: [email protected]
其他沉澱
LeetCode題解傳送門
題解在的CSDN和Gitbook上都有記錄,希望大佬們批評指正,一起提高(順便star下吧!!!)
——————1-100
- 1.兩數之和
- 2.兩數相加
- 3.無重複長度的字符串
- 4.尋找兩個有序數組的中位數
- 9.迴文數
- 11.盛水最多的容器
- 12.整數轉羅馬數字
- 13.羅馬數字轉整數
- 14.最長公共前綴
- 15.三數之和
- 16.最接近的三數之和
- 20.有效的括號
- 21.合併兩個有序鏈表
- 24.兩兩交換鏈表中的節點
- 26.刪除排序數組中的重複項
- 27.移除元素
- 28.實現strStr()
- 29.兩數相除
- 33.搜索旋轉排序數組
- 34.在排序數組中查找元素的第一個和最後一個位置
- 35.搜索插入位置
- 41.缺失的第一個正數
- 53.最大子序合
- 56.合併區間
- 58.最後一個單詞的長度
- 66.加一
- 70.爬樓梯
- 75.顏色分類
- 80.刪除排序數組中的重複項 II
- 83.刪除排序鏈表中的重複元素
- 88.合併兩個有序數組
——————101-200
- 125.驗證迴文串
- 136.只出現一次的數字
- 141.環形鏈表
- 142.環形鏈表II
- 160.相交鏈表
- 167.兩數之和II - 輸入有序數組
- 169.求衆數
- 182.查找重複的電子郵箱(sql)
- 189.旋轉數組
- 196.刪除重複的電子郵箱
- 197.上升的溫度(sql)
——————201-300
- 202.快樂數
- 203.移除列表元素
- 204.計算質數
- 206.反轉鏈表
- 215.數組中的第K個最大元素
- 217.存在重複元素
- 219.存在重複元素II
- 232.用棧實現隊列
- 234.迴文鏈表
- 237.刪除鏈表中的節點
- 242.有效的字符異位詞
- 268.缺失數字
- 283.移動零
- 287.尋找重複數
——————301-400
——————401-500
——————501-600
——————601-700
——————701-800
——————801-900
——————901-1000
——————1001及之後
- 1207.獨一無二的出現次數
- 1290.二進制鏈表轉整數
- 1295.統計位數爲偶數的數字
- 1299.將每個元素替換爲右側最大元素
- 1323.6和9組成的最大數字
- 1365.有多少小於當前數字的數字
- 1389.按既定順序創建目標數組
數據結構分類
專題仍然分幾種,比如數組、對象層面的,比如對象經典算法,後續會將LeetCode題與專題對應上。
- 數據類型分類
- 鏈表
- 雙向鏈表
- 隊列
- 棧
- 哈希表
- 堆 - 最大堆 & 最小堆
- 優先隊列
- 字典樹
- 樹
- 圖
- 算法主題
- 數學
- 集合
- 字符串
- 搜索
- 排序
- 鏈表
- 樹
- 圖
- 加密
- 算法範式——算法範式是一種通用方法,基於一類算法的設計。這是比算法更高的抽象,就像算法是比計算機程序更高的抽象。
- BF 算法 - 查找/搜索 所有可能性並選擇最佳解決方案
- 貪心法 - 在當前選擇最佳選項,不考慮以後情況
- 分治法 - 將問題分成較小的部分,然後解決這些部分
- 動態編程 - 使用以前找到的子解決方案構建解決方案
- 回溯法 - 類似於 BF 算法 試圖產生所有可能的解決方案,但每次生成解決方案測試如果它滿足所有條件,那麼只有繼續生成後續解決方案。否則回溯並繼續尋找不同路徑的解決方案。
- Branch & Bound - 記住在回溯搜索的每個階段找到的成本最低的解決方案,並使用到目前爲止找到的成本最小值作爲下限。以便丟棄成本大於最小值的解決方案。通常,使用 BFS 遍歷以及狀態空間樹的 DFS 遍歷。
預告
- 完善LeetCode題解的數量
- 提高LeetCode的質量
- 添加專題系列,例如 動態規劃專題、快慢指針專題