image.png
LeetCode題解Js版
題外話
項(xiàng)目背景
旨在提高自己對(duì)算法的理解淋肾,將題解總結(jié)成文章,有利于未來自查爸邢,也希望能對(duì)大家有所幫助樊卓。
如果該項(xiàng)目能對(duì)大家起到積極的作用,就算成功了杠河,歡迎大家留言交流碌尔,接受批評(píng)和指正~
通過傳送門可以跳轉(zhuǎn)至LeetCode題解的gitbook版本,方便大家快速瀏覽
本倉庫暫時(shí)分為三個(gè)部分
- 第一個(gè)是按照題庫順序以及自己刷題的先后排列的LeetCode題解
- 第二個(gè)是每日一題相關(guān)的LeeTCode題解(帶完善)
- 第三個(gè)以專題類型為區(qū)分的題解(待完善)
記錄:
- 2020.04.22 — leetcode題解達(dá)到100
關(guān)于我
- decs: 19年畢業(yè)的前端開發(fā)一枚券敌,沉迷Js
- E-mail: webbj97@163.com
- 個(gè)人博客: CSDN
- GitHub: 傳送門
LeetCode題解傳送門
題解在的CSDN和Gitbook上都有記錄唾戚,希望大佬們批評(píng)指正,一起提高(順便star下吧4纭L咎埂!)
——————1-100
- 1.兩數(shù)之和
- 2.兩數(shù)相加
- 3.無重復(fù)長度的字符串
- 4.尋找兩個(gè)有序數(shù)組的中位數(shù)
- 9.回文數(shù)
- 11.盛水最多的容器
- 12.整數(shù)轉(zhuǎn)羅馬數(shù)字
- 13.羅馬數(shù)字轉(zhuǎn)整數(shù)
- 14.最長公共前綴
- 15.三數(shù)之和
- 16.最接近的三數(shù)之和
- 20.有效的括號(hào)
- 21.合并兩個(gè)有序鏈表
- 24.兩兩交換鏈表中的節(jié)點(diǎn)
- 26.刪除排序數(shù)組中的重復(fù)項(xiàng)
- 27.移除元素
- 28.實(shí)現(xiàn)strStr()
- 29.兩數(shù)相除
- 33.搜索旋轉(zhuǎn)排序數(shù)組
- 34.在排序數(shù)組中查找元素的第一個(gè)和最后一個(gè)位置
- 35.搜索插入位置
- 41.缺失的第一個(gè)正數(shù)
- 53.最大子序合
- 56.合并區(qū)間
- 58.最后一個(gè)單詞的長度
- 66.加一
- 70.爬樓梯
- 75.顏色分類
- 80.刪除排序數(shù)組中的重復(fù)項(xiàng) II
- 83.刪除排序鏈表中的重復(fù)元素
- 88.合并兩個(gè)有序數(shù)組
——————101-200
- 125.驗(yàn)證回文串
- 136.只出現(xiàn)一次的數(shù)字
- 141.環(huán)形鏈表
- 142.環(huán)形鏈表II
- 160.相交鏈表
- 167.兩數(shù)之和II - 輸入有序數(shù)組
- 169.求眾數(shù)
- 182.查找重復(fù)的電子郵箱(sql)
- 189.旋轉(zhuǎn)數(shù)組
- 196.刪除重復(fù)的電子郵箱
- 197.上升的溫度(sql)
——————201-300
- 202.快樂數(shù)
- 203.移除列表元素
- 204.計(jì)算質(zhì)數(shù)
- 206.反轉(zhuǎn)鏈表
- 215.數(shù)組中的第K個(gè)最大元素
- 217.存在重復(fù)元素
- 219.存在重復(fù)元素II
- 232.用棧實(shí)現(xiàn)隊(duì)列
- 234.回文鏈表
- 237.刪除鏈表中的節(jié)點(diǎn)
- 242.有效的字符異位詞
- 268.缺失數(shù)字
- 283.移動(dòng)零
- 287.尋找重復(fù)數(shù)
——————301-400
——————401-500
- 412.FizzBuzz
- 414.第三大的數(shù)
- 430.扁平化多級(jí)雙向鏈表
- 442.數(shù)組中重復(fù)的數(shù)據(jù)
- 443.壓縮字符串
- 448.找到所有數(shù)組中消失的數(shù)字
- 498.對(duì)角線遍歷
——————501-600
——————601-700
——————701-800
- 703.數(shù)據(jù)流中的第K大元素
- 704.二分查找
- 707.設(shè)計(jì)鏈表
- 709.轉(zhuǎn)換成小寫字母
- 724.尋找數(shù)組的中心索引
- 747.至少是其他數(shù)字兩倍的最大數(shù)
- 771.寶石與石頭
——————801-900
——————901-1000
- 905.按奇偶排序數(shù)組
- 912.排序數(shù)組
- 922.按奇偶排序數(shù)組II
- 929.獨(dú)特的電子郵件地址
- 961.重復(fù)N次的元素
- 976.三角形的最大周長
- 977.有序數(shù)組的平方
——————1001及之后
- 1207.獨(dú)一無二的出現(xiàn)次數(shù)
- 1290.二進(jìn)制鏈表轉(zhuǎn)整數(shù)
- 1295.統(tǒng)計(jì)位數(shù)為偶數(shù)的數(shù)字
- 1299.將每個(gè)元素替換為右側(cè)最大元素
- 1323.6和9組成的最大數(shù)字
- 1365.有多少小于當(dāng)前數(shù)字的數(shù)字
- 1389.按既定順序創(chuàng)建目標(biāo)數(shù)組
數(shù)據(jù)結(jié)構(gòu)分類
專題仍然分幾種卑雁,比如數(shù)組募书、對(duì)象層面的,比如對(duì)象經(jīng)典算法测蹲,后續(xù)會(huì)將LeetCode題與專題對(duì)應(yīng)上莹捡。
- 數(shù)據(jù)類型分類
- 鏈表
- 雙向鏈表
- 隊(duì)列
- 棧
- 哈希表
- 堆 - 最大堆 & 最小堆
- 優(yōu)先隊(duì)列
- 字典樹
- 樹
- 圖
- 算法主題
- 數(shù)學(xué)
- 集合
- 字符串
- 搜索
- 排序
- 鏈表
- 樹
- 圖
- 加密
- 算法范式——算法范式是一種通用方法,基于一類算法的設(shè)計(jì)扣甲。這是比算法更高的抽象篮赢,就像算法是比計(jì)算機(jī)程序更高的抽象。
- BF 算法 - 查找/搜索 所有可能性并選擇最佳解決方案
- 貪心法 - 在當(dāng)前選擇最佳選項(xiàng)琉挖,不考慮以后情況
- 分治法 - 將問題分成較小的部分启泣,然后解決這些部分
- 動(dòng)態(tài)編程 - 使用以前找到的子解決方案構(gòu)建解決方案
- 回溯法 - 類似于 BF 算法 試圖產(chǎn)生所有可能的解決方案,但每次生成解決方案測試如果它滿足所有條件示辈,那么只有繼續(xù)生成后續(xù)解決方案寥茫。否則回溯并繼續(xù)尋找不同路徑的解決方案。
- Branch & Bound - 記住在回溯搜索的每個(gè)階段找到的成本最低的解決方案顽耳,并使用到目前為止找到的成本最小值作為下限坠敷。以便丟棄成本大于最小值的解決方案妙同。通常,使用 BFS 遍歷以及狀態(tài)空間樹的 DFS 遍歷膝迎。
預(yù)告
- 完善LeetCode題解的數(shù)量
- 提高LeetCode的質(zhì)量
- 添加專題系列粥帚,例如 動(dòng)態(tài)規(guī)劃專題、快慢指針專題