簡介
本書收集了約60道算法和程式設計題目,這些題目大部分在近年的筆試,面試中出現過,或者是被微軟員工熱烈討論過。作者試圖從書中各種有趣的問題出發,引導讀者發現問題,分析問題,解決問題,尋找更優的解法。本書的內容分為下面幾個部分:
遊戲之樂:從遊戲和其他有趣問題出發,化繁為簡,分析總結。
數字之魅:編程的過程實際上就是和數字及字元打交道的過程。這一部分收集了一些好玩的對數字進行處理的題目。
結構之法:匯集了常見的對字元串、鍊表、佇列,以及樹等進行操作的題目。
數學之趣:列舉了一些不需要寫具體程式的數學問題,鍛鍊讀者的抽象思維能力。
書中絕大部分題目都提供了詳細的解說。每道題目後面還有一至兩道擴展問題,供讀者進一步鑽研。
書中還講述了面試的各種小故事,告訴讀者微軟需要什麼樣的技術人才,重視什麼樣的能力,如何甄別人才。回答讀者關於IT業面試,招聘,職業發展的疑問。這本書的很多題目會出現在IT行業的各種筆試,面試中。但本書更深層的意義在於引導讀者思考,和讀者共享思考之樂,編程之美。
《編程之美——微軟技術面試心得》內容簡介
編程之美 |
本書收集了約60道算法和程式設計題目,這些題目大部分在近年的筆試,面試中出現過,或者是被微軟員工熱烈討論過。作者試圖從書中各種有趣的問題出發,引導讀者發現問題,分析問題,解決問題,尋找更優的解法。本書的內容分為下面幾個部分:
遊戲之樂:從遊戲和其他有趣問題出發,化繁為簡,分析總結。
數字之魅:編程的過程實際上就是和數字及字元打交道的過程。這一部分收集了一些好玩的對數字進行處理的題目。
結構之法:匯集了常見的對字元串、鍊表、佇列,以及樹等進行操作的題目。
數學之趣:列舉了一些不需要寫具體程式的數學問題,鍛鍊讀者的抽象思維能力。
書中絕大部分題目都提供了詳細的解說。每道題目後面還有一至兩道擴展問題,供讀者進一步鑽研。
書中還講述了面試的各種小故事,告訴讀者微軟需要什麼樣的技術人才,重視什麼樣的能力,如何甄別人才。回答讀者關於IT業面試,招聘,職業發展的疑問。這本書的很多題目會出現在IT行業的各種筆試,面試中。但本書更深層的意義在於引導讀者思考,和讀者共享思考之樂,編程之美。
目錄
《編程之美——微軟面試技術心得》目錄
第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.10雙執行緒高效下載59
1.11NIM(1)一排石頭的遊戲64
1.12NIM(2)“拈”遊戲分析67
1.13NIM(3)兩堆石頭的遊戲72
1.14連連看遊戲設計86
1.15構造數獨91
1.1624點遊戲99
1.17俄羅斯方塊遊戲108
1.18挖雷遊戲116
第2章數字之魅——數字中的技巧117
2.1求二進制數中1的個數119
2.2不要被階乘嚇倒125
2.3尋找發帖“水王”129
2.41的數目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
《編程之美——微軟技術面試心得》讀者評論
(1)的確是好書,不同於算法導論和程式設計藝術之類的書(比較抽象),結合很多比較現實易於形象化的題目,大開眼界。每天做兩道題目,感覺挺有收穫的。
——互動網讀者superzxt
(2)這本書對於學生求職還是很有幫助的,通過做題可以先感受一下筆試面試氣氛,拓寬自己的解題思路,從而有助於找到一份不錯的工作。強烈推薦大家對每一道題目都好好揣摩揣摩,必能受益良多。
——互動網讀者cx_flying
(3)這本書表面上是講解算法,實際上體現了一種面對困難、解決問題的心態……個人還是挺喜歡這類書的,把編程人性化了……
——互動網讀者拓荒者
(4)……這本書更大的作用在於——給你一個有趣的題目,讓你自己去思考,思考出來後再對照它給出的解法,看看你是否做對了。在這個過程中,你學會了作為一個程式設計師最重要的東西——獨立思考的能力,而不是碰到問題就在網上到處找代碼片段,盲目拷貝已有的解決方案。
——互動網讀者CoolJie2001
(5)買這本書是因為看到這本書名字的前四個字,而非後面幾個字。看著書的封面,樸素簡單的設計,處處透出清新之美。
隨著軟體產業的迅速發展,各種高級程式語言鋪天蓋地席捲而來,軟體開發變得單調而枯燥,而編程本身的樂趣如今卻很難在身邊找到。這本書正是迎合了我的想法,編程本身應該非常有樂趣,通過巧妙的思考,尋求解決問題的方法。《編程之美》放在案前,每有倦意,品杯香茶,翻開幾頁,感受久違的古色古香,沉浸在美妙的思考中,別有一翻滋味~~
——噹噹網讀者nuaapjy
(6)之前對算法的印象是晦澀難懂,每每總是望而卻步,提不起來興趣去研究算法,讀了《編程之美》中的幾個算法,有一種豁然開朗的感覺,原來算法也可以講的這么生動有趣,這么吸引人。《編程之美》中的算法以實例開題,循序漸進的解決問題,一步步去剖析算法的本質,挖掘和發散算法功效,進而去淋漓盡致的體現算法的美妙!
——噹噹網讀者蘿蔔蘿蔔閃金光
(7)一本編程的課外讀物,引發編程興趣的好書。
——噹噹網讀者tiangu0120
(8)此書重要的是開拓思路,有一定基礎的朋友看了這個,就會有一種意猶未盡的感覺,“原來還可以這么玩啊”的想法。
——卓越網讀者yc_andy1009
(9)剛剛讀完這本書,感覺不錯,啟發很大,這是我繼讀完《算法導論》以來發現比較好的一本書,推薦對算法以及對大公司的面試題有興趣的人去看看。
——卓越網讀者lironghua
(10)算法是電腦程式設計的靈魂,是每個計算機專業的學生和從業人員必須具備的基本素質之一。微軟把一些看似簡單,實則蘊含深刻內涵的算法題目作為面試的重要內容,是經過深思熟慮了的。
——Sswv
(11)《編程之美》中這些謎題考察、鍛鍊的是紮實、嚴密和具有創造性的思考能力,面對問題有條不紊的分析能力,和不斷深入、刨根問底的精神。毫無疑問,這些素質,都是軟體工程師身上最寶貴的東西。
——《程式設計師》雜誌技術主編孟岩
(12)隨著軟體產業的迅速發展,各種高級程式語言鋪天蓋地席捲而來,軟體開發變得單調而枯燥,而編程本身的樂趣如今卻很難在身邊找到。《編程之美》正是迎合了我的想法,編程本身應該非常有樂趣,通過巧妙的思考,尋求解決問題的方法。
——噹噹網讀者nuaapjy
(13)我招人的時候找了《編程之美》上面的題目作參考,效果還不錯。裡面描述的算法很有意思。
——噹噹網讀者beikerray119
(14)工程師的驕傲,在於創造。編程的樂趣也在於探索。當我們不僅愛玩電腦,會玩電腦,也嘗試著用電腦去解決實際的問題並獲得成功的時候,那種自我肯定的快樂是一般途徑所體會不到的。
何為編程之美?巧妙的思路,簡明的算法,嚴謹的數學分析——這些綜合起來就是編程之美。
——網友Ultra