算法通關之路

路志鵬 等

  • 出版商: 電子工業
  • 出版日期: 2021-08-01
  • 售價: $594
  • 貴賓價: 9.5$564
  • 語言: 簡體中文
  • 頁數: 420
  • 裝訂: 平裝
  • ISBN: 7121412780
  • ISBN-13: 9787121412783
  • 立即出貨

買這商品的人也買了...

商品描述

這是一本圖文並茂的力扣(LeetCode)題解書,旨在讓廣大讀者理解數據結構和算法的必備知識,掌握解決各類經典題目的基本技能,陪伴讀者攻剋算法題目的難關。本書通過算法題解的形式講解了基本數據結構和基礎數學知識,包括貪心、遞歸、回溯和動態規劃等算法思想,深度優先和廣度優先、雙指針、滑動窗口、位運算等解題技巧,以及通用解題“套路”和解題模板等內容,引導讀者瞭解並掌握解決算法題目的方式、方法,旨在循序漸進地提高讀者應對算法題目的能力。

作者簡介

本書共有5位作者,他們和另外4名審閱者組建了一個小團隊,合作完成此書。
團隊成員大都畢業於985、211院校計算機專業,他們在解算法題、參加算法競賽和LeetCode週賽等過程中積攢的豐富經驗都匯集於此書當中。
本書的主要作者、牽頭人路志鵬(lucifer)是一位狂熱的算法愛好者,他樂於與大家分享算法知識,在GitHub上的題解倉庫(https://github.com/azl397985856/leetcode)幾年來積攢了超過4萬的Star,同時還創辦了知名的算法公眾號“力扣加加”。

目錄大綱

第1章 預備知識 1
1.1 學習算法需要數學知識嗎 1
1.2 基礎數據結構和算法 2
1.3 複雜度分析 3
總結 12

第2章 數學之美 14
2.1 兩數之和 14
2.2 三數之和 18
2.3 四數之和 19
2.4 四數相加II 22
2.5 最接近的三數之和 24
2.6 最大子序列和 26
2.7 最大數 31
2.8 分數到小數 33
2.9 最大整除子集 35
2.10 質數排列 37
總結 39

第3章 回文的藝術 41
3.1 驗證回文字符串Ⅱ 41
3.2 回文鍊錶 44
3.3 回文數 47
3.4 最長回文子串 48
3.5 最長回文子序列 50
3.6 超級回文數 53
總結 56

第4章 遊戲之樂 58
4.1 外觀數列(報數) 58
4.2 24點 61
4.3 數獨遊戲 67
4.4 生命遊戲 75
總結 78

第5章 深度優先遍歷和廣度優先遍歷 79
5.1 深度優先遍歷 79
5.2 廣度優先遍歷 81
5.3 路徑和系列問題 82
5.4 島嶼問題 91
總結 100

第6章 二分法 102
6.1 二分查找 102
6.2 尋找旋轉排序數組中的最小值 105
6.3 愛吃香蕉的珂珂 107
6.4 x的平方根 109
6.5 尋找峰值 112
6.6 分割數組的最大值 114
總結 118

第7章 位運算 119
7.1 位1的個數 120
7.2 實現加法 122
7.3 整數替換 124
7.4 只出現一次的數字 127
總結 133

第8章 設計 135
8.1 最小棧 135
8.2 實現 Trie(前綴樹) 142
8.3 LRU 緩存機制 146
8.4 LFU 緩存 149
8.5 設計跳表 155
總結 163

第9章 雙指針 164
9.1 頭/尾指針 166
9.2 快慢指針 171
總結 182

第10章 動態規劃 183
10.1 爬樓梯 186
10.2 打家劫舍系列 188
10.3 不同路徑 195
10.4 零錢兌換 199
總結 204

第11章 滑動窗口 205
11.1 滑動窗口最大值 206
11.2 最小覆蓋子串 209
11.3 替換後的最長重複字符 213
11.4 字符串的排列 216
總結 219

第12章 博弈問題 220
12.1 石子遊戲 220
12.2 預測贏家 225
12.3 Nim 遊戲 230
12.4 猜數字大小II 233
總結 236

第13章 股票問題 237
13.1 買賣股票的最佳時機 237
13.2 買賣股票的最佳時機II 240
13.3 買賣股票的最佳時機(含手續費) 242
13.4 買賣股票的最佳時機(含冷凍期) 247
13.5 買賣股票的最佳時機IV 249
總結 253

第14章 分治法 254
14.1 合併k個排序鍊錶 255
14.2 數組中的第k個最大元素 260
14.3 搜索二維矩陣 II 265
總結 274

第15章 貪心法 276
15.1 分發餅乾 276
15.2 跳躍遊戲 278
15.3 任務調度器 282
15.4 分發糖果 284
15.5 無重疊區間 287
總結 289

第16章 回溯法 290
16.1 組合總和 I 290
16.2 組合總和 II 296
16.3 子集 299
16.4 全排列 300
16.5 解數獨 301
總結 304

第17章 一些有趣的題目 306
17.1 求眾數 II 306
17.2 柱狀圖中最大的矩形 309
17.3 一周中的第幾天 314
17.4 水壺問題 317
17.5 可憐的小豬 321
總結 325

第18章 一些通用解題模板 326
18.1 二分法 326
18.2 回溯法 329
18.3 並查集 330
18.4 BFS 333
18.5 滑動窗口 334
18.6 數學 336
總結 339

第19章 融會貫通 340
19.1 循環移位問題 340
19.2 編輯距離 349
19.3 第k問題 357
總結 369

第20章 解題技巧和麵試技巧 370
20.1 看限制條件 371
20.2 預處理 380
20.3 不要忽視暴力法 388
20.4 降維與狀態壓縮 395
20.5 猜測tag 402
總結 403