日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

leetcode分类刷题

發(fā)布時間:2024/1/1 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 leetcode分类刷题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1. 數(shù)組

??????? 數(shù)組是基本的數(shù)據(jù)結(jié)構(gòu),面試中考察數(shù)組的題目一般在思維上并不復(fù)雜,主要是考查面試者對代碼的掌控能力。

  • 數(shù)組下標(biāo)都是從0開始
  • 數(shù)組在內(nèi)存空間的地址是連續(xù)的
  • 題目:

    • easy

    704. 二分查找

    27. 移除元素

    209. 長度最小的子數(shù)組

    59. 螺旋矩陣 II

    2. 鏈表

    ??????? 鏈表是一種通過指針串聯(lián)在一起的線性結(jié)構(gòu),每一個節(jié)點由兩部分組成,一個是數(shù)據(jù)域,另一個是指針域(存放指向下一個節(jié)點的指針),鏈表的入口節(jié)點稱為頭節(jié)點(head),最后一個節(jié)點的指針域指向NULL(空指針)。

    ??????? 鏈表的三種類型:單鏈表、雙鏈表、循環(huán)鏈表

    題目:

    • easy

    203. 移除鏈表元素

    206. 反轉(zhuǎn)鏈表

    • midding

    707. 設(shè)計鏈表

    19. 刪除鏈表的倒數(shù)第 N 個結(jié)點

    142. 環(huán)形鏈表 II

    3. 哈希表

    ??????? 哈希表(Hash Table),散列表,根據(jù)關(guān)鍵碼的值直接訪問數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),一般用來快速判斷一個元素是否出現(xiàn)在集合中。

    ??????? 哈希碰撞的兩種解決方法:拉鏈法 、線性探測法

    集合底層實現(xiàn)是否有序數(shù)值是否可以重復(fù)能否更改數(shù)值查詢效率增刪效率
    std::set紅黑樹有序O(logn)O(logn)
    std::multiset紅黑樹有序O(logn)O(logn)
    std::unordered_set哈希表無序O(1)O(1)

    ??

    題目:

    • easy

    242. 有效的字母異位詞

    349. 兩個數(shù)組的交集

    1. 兩數(shù)之和

    • midding

    ?15. 三數(shù)之和

    18. 四數(shù)之和

    4. 字符串

    ??????? 字符串是由若干字符組成的有限序列,也可以理解為一個字符數(shù)組。

    • easy

    344. 反轉(zhuǎn)字符串

    541. 反轉(zhuǎn)字符串 II

    28. 實現(xiàn) strStr()

    ?459. 重復(fù)的子字符串

    • ?midding

    151. 顛倒字符串中的單詞

    5. 棧與隊列

    隊列:先進(jìn)先出

    棧?? :先進(jìn)后出

    題目:

    • easy

    232. 用棧實現(xiàn)隊列

    225. 用隊列實現(xiàn)棧

    20. 有效的括號

    • midding

    150. 逆波蘭表達(dá)式求值

    347. 前 K 個高頻元素

    • hard

    239. 滑動窗口最大值

    42. 接雨水

    6. 二叉樹

    二叉樹的種類:滿二叉樹、完全二叉樹、二叉搜索樹、平衡二叉搜索樹

    ?二叉樹的遍歷:深度優(yōu)先 廣度優(yōu)先(遞歸:棧? 隊列)

    遞歸三部曲:

    (1)確定遞歸函數(shù)的參數(shù)和返回值

    (2)確定遞歸終止條件

    (3)確定單層遞歸的邏輯

    題目:

    144. 二叉樹的前序遍歷

    94. 二叉樹的中序遍歷

    145. 二叉樹的后序遍歷

    102. 二叉樹的層序遍歷

    226. 翻轉(zhuǎn)二叉樹

    101. 對稱二叉樹

    104. 二叉樹的最大深度

    111. 二叉樹的最小深度

    110. 平衡二叉樹

    112. 路徑總和

    257. 二叉樹的所有路徑

    113. 路徑總和 II

    106. 從中序與后序遍歷序列構(gòu)造二叉樹

    105. 從前序與中序遍歷序列構(gòu)造二叉樹

    98. 驗證二叉搜索樹

    617. 合并二叉樹

    700. 二叉搜索樹中的搜索

    530. 二叉搜索樹的最小絕對差

    501. 二叉搜索樹中的眾數(shù)

    236. 二叉樹的最近公共祖先

    235. 二叉搜索樹的最近公共祖先

    701. 二叉搜索樹中的插入操作

    450. 刪除二叉搜索樹中的節(jié)點

    669. 修剪二叉搜索樹

    108. 將有序數(shù)組轉(zhuǎn)換為二叉搜索樹

    7. 回溯算法

    ?(1)確定回溯函數(shù)的返回值和參數(shù)

    (2)確定回溯函數(shù)的終止條件

    (3)確定回溯函數(shù)的遍歷過程

    //回溯算法的循環(huán): // 1. 求排列for(int i=0; ...) // 2. 求組合for(int i=startInd; ...) //note: 要注意去重問題

    題目:

    77. 組合

    216. 組合總和 III

    17. 電話號碼的字母組合

    39. 組合總和

    40. 組合總和 II

    131. 分割回文串

    93. 復(fù)原 IP 地址

    78. 子集

    491. 遞增子序列

    46. 全排列

    47. 全排列 II

    51. N 皇后

    37. 解數(shù)獨

    8. 貪心算法

    ?解題步驟:
    (1)將問題分解為若干子問題

    (2)找出貪心策略

    (3)求解每一個子問題的最優(yōu)解

    (4)將局部最優(yōu)堆疊成全局最優(yōu)

    題目:

    455. 分發(fā)餅干

    376. 擺動序列

    53. 最大子數(shù)組和

    122. 買賣股票的最佳時機 II

    55. 跳躍游戲

    45. 跳躍游戲 II

    134. 加油站

    135. 分發(fā)糖果

    860. 檸檬水找零

    452. 用最少數(shù)量的箭引爆氣球

    56. 合并區(qū)間

    738. 單調(diào)遞增的數(shù)字

    9. 動態(tài)規(guī)劃

    動態(tài)規(guī)劃“五部曲”

    (1)確定dp及下標(biāo)的含義

    (2)確定遞推公式

    (3)初始化dp

    (4)確定遍歷順序

    (5)舉例推導(dǎo)dp

    //0-1背包的核心代碼 for(int i=0; i<weight.size(); ++i){//容量從大到小遍歷,保證每個物品僅添加一次for(int j=bagWeight; j>=weight[i]; --j){dp[j] = max(dp[j], dp[j-weight[i]]+value[i]);} }//完全背包核心代碼 for(int i=0; i<weight.size(); ++i){//容量從小到大遍歷,保證每個物品可添加無數(shù)次for(int j=weight[i]; j<=bagWeight; ++j){dp[j] = max(dp[j], dp[j-weight[i]]+value[i]);} }//1. 求最大 dp[j] = max(dp[j], dp[j-weight[i]]+value[i]); //2. 求組合 dp[j] += dp[j-nums[i]] //3. 求排列 dp[j] += dp[j-nums[i]] //求組合數(shù),外層循環(huán)遍歷物品,內(nèi)層循環(huán)遍歷背包 //求排列數(shù),外層循環(huán)遍歷背包,內(nèi)層循環(huán)遍歷物品

    題目:

    509. 斐波那契數(shù)

    70. 爬樓梯

    746. 使用最小花費爬樓梯

    62. 不同路徑

    63. 不同路徑 II

    343. 整數(shù)拆分

    96. 不同的二叉搜索樹

    416. 分割等和子集

    494. 目標(biāo)和

    474. 一和零

    518. 零錢兌換 II

    377. 組合總和 Ⅳ

    322. 零錢兌換

    279. 完全平方數(shù)

    139. 單詞拆分

    121. 買賣股票的最佳時機

    122. 買賣股票的最佳時機 II

    123. 買賣股票的最佳時機 III

    188. 買賣股票的最佳時機 IV

    309. 最佳買賣股票時機含冷凍期

    714. 買賣股票的最佳時機含手續(xù)費

    300. 最長遞增子序列

    674. 最長連續(xù)遞增序列

    718. 最長重復(fù)子數(shù)組

    1143. 最長公共子序列

    1035. 不相交的線

    392. 判斷子序列

    115. 不同的子序列

    583. 兩個字符串的刪除操作

    72. 編輯距離

    647. 回文子串

    516. 最長回文子序列

    10. 其他

    • 二分查找

    33. 搜索旋轉(zhuǎn)排序數(shù)組d

    • 遞歸

    234. 回文鏈表

    • 并查集

    劍指 Offer II 116. 省份數(shù)量

    • 拓?fù)渑判?/strong>

    207. 課程表
    ?

    • 深度優(yōu)先

    236. 二叉樹的最近公共祖先

    543. 二叉樹的直徑

    78. 子集

    參考文獻(xiàn):《代碼隨想錄lu 跟著Carlarl學(xué)算法》 孫秀洋

    總結(jié)

    以上是生活随笔為你收集整理的leetcode分类刷题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。