第1章 字符串 1
1.1 字符串的旋轉 2
1.2 字符串的包含 5
1.3 字符串的全排列 9
1.4 字符串轉換成整數 13
1.5 回文判斷 17
1.6 最長回文子串 19
本章習題 23
第2章 數組 27
2.1 尋找最小的k個數 28
2.2 尋找和為定值的兩個數 31
2.3 尋找和為定值的多個數 34
2.4 最大連續(xù)子數組和 39
2.5 跳臺階問題 43
2.6 奇偶數排序 45
2.7 荷蘭國旗 50
2.8 矩陣相乘 54
2.9 完美洗牌算法 58
本章習題 69
第3章 樹 80
3.1 統(tǒng)計出現次數最多的數據 81
3.2 上億行數據的快速查詢 90
3.3 最近公共祖先問題 105
本章習題 118
第4章 查找 122
4.1 有序數組的查找 123
4.2 行列遞增矩陣的查找 125
4.3 出現次數超過一半的數 128
4.4 字符串的查找 132
本章習題 152
第5章 動態(tài)規(guī)劃 153
5.1 最大連續(xù)乘積子數組 154
5.2 字符串編輯距離 158
5.3 格子取數問題 162
5.4 交替字符串 168
本章習題 170
第6章 海量數據處理 172
6.1 基礎知識:STL容器 173
6.2 散列分治 175
6.3 多層劃分 181
6.4 MapReduce 182
6.5 外排序 184
6.6 位圖 187
6.7 布隆過濾器 189
6.8 Trie樹 194
6.9 數據庫 198
6.10 倒排索引 199
6.11 simhash算法 200
本章習題 206
第7章 機器學習 210
7.1 K近鄰算法 211
7.2 支持向量機 216
附錄 其他題型 234
A.1 語言基礎 235
A.2 鏈表 236
A.3 矩陣 238
A.4 堆、棧和隊列 240
A.5 圖搜索 241
A.6 概率統(tǒng)計 245
A.7 智力邏輯 248
A.8 系統(tǒng)協(xié)議 254
A.9 系統(tǒng)設計 257
參考文獻 261