內容介紹:
第1章 遊戲之樂——遊戲中碰到的題目... 1
1.1 讓cpu佔用率曲線聽你指揮... 3
1.2 中國象棋將帥問題... 13
1.3 一摞烙餅的排序... 20
1.4 買書問題... 30
1.5 快速找出故障機器... 35
1.6 飲料供貨... 40
1.7 光影切割問題... 45
1.8 小飛的電梯排程演算法... 50
1.9 高效率地安排見面會... 54
1.11 nim(1)一排石頭的遊戲... 64
1.12 nim(2)「拈」遊戲分析... 67
1.13 nim(3)兩堆石頭的遊戲... 72
1.14 連連看遊戲設計... 86
1.15 構造數獨... 91
1.16 24點遊戲... 99
1.17 俄羅斯方塊遊戲... 108
1.18 挖雷遊戲... 116
第2章 數字之魅——數字中的技巧... 117
2.1 求二進位制數中1的個數... 119
2.2 不要被階乘嚇倒... 125
2.3 尋找發帖「水王」... 129
2.4 1的數目... 132
2.5 尋找最大的k個數... 139
2.6 精確表達浮點數... 147
2.7 最大公約數問題... 150
2.8 找符合條件的整數... 155
2.9 斐波那契(fibonacci)數列... 160
2.10 尋找陣列中的最大值和最小值... 166
2.11 尋找最近點對... 171
2.12 快速尋找滿足條件的兩個數... 178
2.13 子陣列的最大乘積... 182
2.14 求陣列的子陣列之和的最大值... 185
2.15 子陣列之和的最大值(二維)... 192
2.16 求陣列中最長遞增子串行... 198
2.17 陣列迴圈移位... 204
2.18 陣列分割... 207
2.19 區間重合判斷... 211
2.20 程式理解和時間分析... 215
2.21 只考加法的面試題... 217
第3章 結構之法——字串及鍊錶的探索... 219
3.1 字串移位包含的問題... 221
3.2 **號碼對應英語單詞... 224
3.3 計算字串的相似度... 230
3.4 從無頭單鏈表中刪除節點... 234
3.5 最短摘要的生成... 237
3.6 程式設計判斷兩個鍊錶是否相交... 241
3.7 佇列中取最大值操作問題... 244
3.8 求二叉樹中節點的最大距離... 250
3.9 重建二叉樹... 256
3.10 分層遍歷二叉樹... 262
3.11 程式改錯... 268
第4章 數學之趣——數學遊戲的樂趣... 273
4.1 金剛坐飛機問題... 275
4.2 瓷磚覆蓋地板... 279
4.3 買票找零... 282
4.4 點是否在三角形內... 286
4.5 磁帶檔案存放優化... 291
4.6 桶中取黑白球... 294
4.7 螞蟻爬桿... 299
4.8 三角形測試用例... 303
4.9 數獨知多少... 307
4.10 數字啞謎和回文... 315
4.11 挖雷遊戲的概率... 322
程式設計之美 微軟技面心得
搜尋演算法,運用餘數優化 lcd x,y if x 1 y 1 lcd x,x y 2 else lcd x 2 if x 1 0,y 2 if y 1 0 x x1x2.xi y1y2.yj z1 z2.zk 10 j m 10 j 其中 迴圈節 m z1 z2 zk 10 k 1 所以 x 10...
微軟程式設計之美 初賽
相似字串對於兩個長度相等的字串,我們定義其距離為對應位置不同的字元數量,同時我們認為距離越近的字串越相似。例如,0123 和 0000 的距離為 3,0123 和 0213 的距離則為 2,所以與 0000 相比,0213 和 0123 最相似。現在給定兩個字串 s1 和 s2,其中 s2 的長度不...
程式設計之美閱讀心得
3.30 我的結論是 1 如果存在乙個對a的安全狀態t,那麼如果t 能夠在一步轉為t,則t 是a的必敗狀態。2 此題的思路的關鍵是確定一種a的必勝的模式 比如分偶數堆,每堆個數相同。其實思路應該更簡單一些,就是對m分情況討論,如果m是偶數,如何分堆必勝 兩堆,個數相等。3 對m為奇數的情況,還沒有想...