《程序員代碼面試指南:IT名企算法與數據結構題目解》是一本程序員面試寶典! 《程序員代碼面試指南:IT名企算法與數據結構題目解》對IT名企代碼面試各類題目的解進行了總結,并提供了相關代碼實現。針對當前程序員面試缺乏專業題目匯總這一痛點,《程序員代碼面試指南:IT名企算法與數據結構題目解》選取將近200道真實出現過的經典代碼面試題,幫助廣大程序員的面試準備做到萬無一失。“刷”完本書后,你就是“題王”!
《程序員代碼面試指南:IT名企算法與數據結構題目解》采用題目 解答的方式組織內容,并把面試題類型相近或者解法相近的題目盡量放在一起,讀者在學習本書時很容易看出面試題解法之間的聯系,使知識的學習避免碎片化。《程序員代碼面試指南:IT名企算法與數據結構題目解》將所有的面試題從難到易依次分為“將、校、尉、士”四個檔次,方便讀者有針對性地選擇“刷”題。《程序員代碼面試指南:IT名企算法與數據結構題目解》所收錄的所有面試題都給出了解講解和代碼實現,并且提供了一些普通解法和解法的運行時間對比,讓讀者真切地感受到解的魅力!
《程序員代碼面試指南:IT名企算法與數據結構題目解》中的題目且經典,更重要的是,《程序員代碼面試指南:IT名企算法與數據結構題目解》收錄了大量題目和解分析,這些內容源自筆者多年來“死磕自己”的深入思考。 《程序員代碼面試指南:IT名企算法與數據結構題目解》是一本程序員面試寶典! 《程序員代碼面試指南:IT名企算法與數據結構題目解》對IT名企代碼面試各類題目的解進行了總結,并提供了相關代碼實現。針對當前程序員面試缺乏專業題目匯總這一痛點,《程序員代碼面試指南:IT名企算法與數據結構題目解》選取將近200道真實出現過的經典代碼面試題,幫助廣大程序員的面試準備做到萬無一失。“刷”完本書后,你就是“題王”!
《程序員代碼面試指南:IT名企算法與數據結構題目解》采用題目 解答的方式組織內容,并把面試題類型相近或者解法相近的題目盡量放在一起,讀者在學習本書時很容易看出面試題解法之間的聯系,使知識的學習避免碎片化。《程序員代碼面試指南:IT名企算法與數據結構題目解》將所有的面試題從難到易依次分為“將、校、尉、士”四個檔次,方便讀者有針對性地選擇“刷”題。《程序員代碼面試指南:IT名企算法與數據結構題目解》所收錄的所有面試題都給出了解講解和代碼實現,并且提供了一些普通解法和解法的運行時間對比,讓讀者真切地感受到解的魅力!
《程序員代碼面試指南:IT名企算法與數據結構題目解》中的題目且經典,更重要的是,《程序員代碼面試指南:IT名企算法與數據結構題目解》收錄了大量題目和解分析,這些內容源自筆者多年來“死磕自己”的深入思考。
碼農們,你們做好準備在IT名企的面試中脫穎而出、一舉成名了嗎?《程序員代碼面試指南:IT名企算法與數據結構題目解》就是你應該擁有的“神兵利器”。當然,對需要提升算法和數據結構等方面能力的程序員而言,價值也是顯而易見的。
如何在IT名企的面試中脫穎而出、一舉成名?《程序員代碼面試指南:IT名企算法與數據結構題目解》就是你應該擁有的“神兵利器”。“刷”完本書,你就是“題王”!
對于每一個程序員來說,提升算法和數據結構等方面的能力至關重要。無數碼農和編程愛好者“深陷”題海之中,無論你是為了代碼面試、提升能力而不情愿地刷題,還是愛好所致沉迷于此,這都是你值得擁有的案頭書。
這里有你在別處找不到的優解分析,有高頻出現在IT名氣代碼面試中的真題,有讓人拍案驚嘆巧妙的題目解法,也有讓你工作中的編程難題迎刃而解的啟發……
左程云,畢業于華中科技大學(本科)、芝加哥大學(碩士),先后就職于IBM、百度。自2010年起專注刷題至今。除刷題之外,興趣廣泛。
第1章 棧和隊列
設計一個有getMin功能的棧(士 )
由兩個棧組成的隊列(尉 )
如何僅用遞歸函數和棧操作逆序一個棧(尉 )
貓狗隊列(士 )
用一個棧實現另一個棧的排序(士 )
用棧來求解漢諾塔問題(校 )
生成窗口zui大值數組(尉 )
構造數組的MaxTree(校 )
求zui大子矩陣的大小(校 )
第2章 鏈表問題
打印兩個有序鏈表的公共部分(士 )
在單鏈表和雙鏈表中刪除倒數第K個節點(士 )
刪除鏈表的中間節點和a/b處的節點(士 ) 第1章 棧和隊列
設計一個有getMin功能的棧(士 )
由兩個棧組成的隊列(尉 )
如何僅用遞歸函數和棧操作逆序一個棧(尉 )
貓狗隊列(士 )
用一個棧實現另一個棧的排序(士 )
用棧來求解漢諾塔問題(校 )
生成窗口zui大值數組(尉 )
構造數組的MaxTree(校 )
求zui大子矩陣的大小(校 )
第2章 鏈表問題
打印兩個有序鏈表的公共部分(士 )
在單鏈表和雙鏈表中刪除倒數第K個節點(士 )
刪除鏈表的中間節點和a/b處的節點(士 )
反轉單向和雙向鏈表(士 )
反轉部分單向鏈表(士 )
環形單鏈表的約瑟夫問題(原問題:士 進階:校 )
判斷一個鏈表是否為回文結構(普通解法 士 )
(進階解法 尉 )
將單向鏈表按某值劃分成左邊小、中間相等、右邊大的形式(尉 )
復制含有隨機指針節點的鏈表(尉 )
兩個單鏈表生成相加鏈表(士 )
兩個單鏈表相交的一系列問題(將 )
將單鏈表的每K個節點之間逆序(尉 )
刪除無序單鏈表中值重復出現的節點(士 )
在單鏈表中刪除指定值的節點(士 )
將搜索二叉樹轉換成雙向鏈表(尉 )
單鏈表的選擇排序(士 )
一種怪異的節點刪除方式(士 )
向有序的環形單鏈表中插入新節點(士 )
合并兩個有序的單鏈表(士 )
按照左右半區的方式重新組合單鏈表(士 )
[推薦序1]
2015年春節,因為公司業務的快速發展,我們開始尋覓的筆試面試算法講師。幾經周折,找到了當時在舉辦線下算法分享的程云,認認真真地聽他講了一堂課,當時就認定他就是我們要找的人。
我聽過很多國內ACM選手的算法分享,但是每一次聽完以后總覺得我和那些人永遠隔著一個斷裂帶,算法對我來說遙不可及,而程云講解算法的時候總能從小的切口講起,由淺入深,環環相扣,不知不覺引你走向算法的核心精髓,那種醍醐灌頂的感覺能激發大家學習算法的熱情,并一直推著我們前進。
這幾年IT技術蓬勃發展,日新月異,對技術人才的需求日益增長,程序員招聘市場也如火如荼。在有限的三五輪面試中,國外流行讓面試者編程解決某些數據結構和算法的題目,通過觀察面試者編碼的熟練程度、思考的速度和深度來衡量面試者的能力和潛力。國內以百度、阿里、騰訊為首的互聯網企業也都逐步開始采用算法面試來篩選人才。
程云出于對算法的熱愛,長期泡在careercup、leetcode等筆試面試網站上,編碼解決各種筆試面試編程題,對各種筆試面試編程題的解題技巧了如指掌。
算法面試普及后,傳統的數據結構和算法課本講得太過基礎,又遠離求職需求,國內也逐漸出現迎合求職需求的筆試面試工具書,這些書籍有些過于應試,純粹以通過面試為導向,程云的書和那些書相比,題目更前沿,講解更注重思考思路和代碼的實踐技巧,對每個題目都深挖,同時根據自己在線下講課學員們的反饋,對每個編程考題的解題反復修改,讓思路更清晰。
這本書不僅可以作為面試代碼指南,還可以作為學生課后的輔助練習,“刷”題5年,悉數總結都沉淀在這本書里,相信讀者跟著他的引導從頭到尾逐一攻克一定會有所收獲。
葉向宇
牛客網CEO
[推薦序2]
初次遇見程云是在2014年8月,當時我在上一家公司工作剛好滿4 年,也是在那時我開始想換個環境,尋找新機會,就試著投了一家公司,結果初次面試遇到算法題就被淘汰了。后來又面試過其他一些國內互聯網公司,也總是卡在算法上。其實,之前我曾經自己在家抱著《算法導論》“啃”了幾章,花了1個月的業余時間看了前5 章,后面就沒再繼續堅持下去。看過的人都知道,雖然很有用,但實在很難“啃”。
單調地看書很枯燥,于是想到去網上找志同道合的人一起研究,就開始“逛”算法論壇。很巧的是,在某個論壇的算法板塊看到一個帖子,說是在周末有算法交流班,當時我立即報名,周日的名額已滿,我是很幸運地“替補”上去的。
還記得初次交流是在程云租的房子里,小小的客廳里放了一張沙發、兩排椅子和一張桌子,桌上放著筆記本電腦和一臺大電視,前面還掛著白板。di一次算法交流就在這樣的環境里開始了。
程云講起題來猶如行云流水,我們聽得更是酣暢淋漓,初次聽完就愛上了……當然,我說的是他的講述。
相信大家都有過這樣的經歷,面對一道算法題,苦思冥想了半天,還是不知道怎么解,感覺很沮喪。如果這時突然有人把解題思路和方法以及代碼都告訴你了,是不是感覺豁然開朗,心情舒暢了?這樣的情景24小時出現一次就可以讓人感覺很開心,而如果24小時連續出現二十次,那將會是什么感覺?一個字:爽!
程云把每一道題都講解得清晰透徹,有的題目難以理解、思路詭異,他就會不厭其煩地反復講解,用形象的方式展現復雜的邏輯,直到大家都聽懂為止。給人的感覺可以說是高潮迭起,一波又一波。
后來進行第二次交流時,我帶來朋友一起參加。之后的交流中,我和朋友都毫不猶豫地報名參加。交流的內容涉及經典算法的高難度題目,也有一些小巧玲瓏的技巧題。難題難得讓人嘆服,巧題巧得讓人玩味。
對想去國外大公司就職的程序員來說,算法題這一關是必不可少的。程云講述的題目是他5年“刷”題的經驗積累而成的,其實只要掌握題目的解題思路和思想,就足以應付國內互聯網公司程序員職位的算法面試題。不過,要想去國外的大公司,比如Google、Facebook之類的,還是要研究得透徹一些才行。
另外,除應付面試之外,還有很重要的一點,甚至是更重要的一點,就是本書可以幫我們打開思路,因為很多算法題的解法是需要逆向思維的,需要跳出原有的固定思維模式,當思維模式被打開之后,你會發現原有的事物現在看起來會有不同的看法,因為角度變了。不過這只能自己體會。
后來才知道,程云舉辦算法交流是為寫書做準備。用他的話說:“會做題不算什么,比我“刷”題多的人我也能找出一大堆,但能給人講明白就不容易了。”于是我后來又變成了程云在寫這本書期間的試讀者。
在此書還未上市之前,就能聽到作者面對面地逐一講解每一道題,真是非常難得且寶貴的經歷。
如果你和我一樣,對數據結構有個大概的了解,很想快速掌握算法題的解法技巧,那么這本書一定適合你!
祝每一位勤奮努力的程序員都能拿到自己滿意的職位!
周寶鑫
一個程序員
雖然現在沒怎么用到,但是后面應該能用到
看著還不錯的
很好很好很喜歡
推薦同學買的,很好的一本書
整體還不錯
很經典的書,大家可以看看
很實用的面試書
完美,價格實惠,并且全新未拆封。
送過來書都成啥了,煩。字數不夠?
送貨很快的
很不錯的一本書,哈哈
正在看呢!!!看起來不錯,對思維有提升。就是快遞慢的跟shit一樣,等了3天,這還是同城呢!!!!
書很好,但是服務真的是差,又慢包裝又差,書買回來都破損了,還禁止差評,遲早藥丸
物流快,書的質量很高啊,雙11特價38.7買的,值了
那倒是隨意翻了看,感覺很不錯,歸納的很細致,慢慢學習中
快遞很給力,當當自營,物流就是快,另外,快遞小哥很熱情
包裝太爛了,直接一個塑料袋,書的封面都看得清,還磨破了。
買的時候沒注意到Java,還好最近學Java
書的封皮感覺很舊,里面的內容和紙張都還不錯
書的內容非常好,講解詳細,循序漸進,里面的代碼是用Java實現的,不過可以根據解題思路自己轉為C++
書是好書,發貨速度也可以,就是被快遞送貨速度搞的再也沒心情買當當的東西了,沒有任何服務體驗可言,一肚子火
_(:з」∠)_之前面試被面試官說我的算法不是最優解,所以就想買本書看看最優解是怎樣的
不錯的一本書,需要好好學習和思考里面收錄的題目
里面的算法和數據結構講得不錯,建議代碼加上注釋更好~
書的內容很不錯,例題講解的很詳細。但是有些例題并不是最優解,建議結合一下leetcode一起學習。
當當的這本書是第一版印刷,紙質和印刷質量都不錯,書中干貨很多,是作者的誠心之作。書中有一些符號的小錯誤,希望作者和出版社能在之后的版本中改正。總體來說比較滿意。
面試買來用的,題目很全,基礎差有些算法解釋的再清楚一點就好了
左程云的這本書非常棒,唯一的缺點是使用Java寫的,我是學C/C++的,看的時候已經把Java忘完了,剛開始看有點懵逼