程序員代碼面試指南:IT名企算法與數據結構題目最優解, 2/e

左程雲

  • 出版商: 電子工業
  • 出版日期: 2019-01-01
  • 定價: $654
  • 售價: 8.5$556
  • 語言: 簡體中文
  • 頁數: 576
  • 裝訂: 其他
  • ISBN: 7121354861
  • ISBN-13: 9787121354861
  • 相關分類: 面試技巧
  • 立即出貨 (庫存 < 3)

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

商品描述

《程序員代碼面試指南:IT名企算法與數據結構題目最優解(第2版)》是一本程序員代碼面試"神書”!書中對IT名企代碼面試各類題目的最優解進行了總結,並提供了相關代碼實現。針對當前程序員面試缺乏權威題目匯總這一痛點,本書選取將近300道真實出現過的經典代碼面試題,幫助廣大程序員的面試準備做到接近萬無一失。"刷”完本書後,你就是"題王”!《程序員代碼面試指南:IT名企算法與數據結構題目最優解(第2版)》採用題目解答的方式組織內容,並把面試題類型相近或者解法相近的題目盡量放在一起,讀者在學習本書時很容易看出面試題解法之間的聯系,使知識的學習避免碎片化。書中將所有的面試題從難到易依次分為"將”“校”“尉”“士”四個檔次,方便讀者有針對性地選擇"刷”題。本書所收錄的所有面試題都給出了最優解講解和代碼實現,並且提供了一些普通解法和最優解法的運行時間對比,讓讀者真切地感受到最優解的魅力!《程序員代碼面試指南:IT名企算法與數據結構題目最優解(第2版)》中的題目全面且經典,更重要的是,書中收錄了大量新題和最優解分析,這些內容源自筆者多年來"死磕自己”的深入思考。程序員們做好準備在IT名企的面試中脫穎而出、一舉成名了嗎?這本書就是你應該擁有的"神兵利器”。當然,對需要提升算法和數據結構等方面能力的程序員而言,《程序員代碼面試指南:IT名企算法與數據結構題目最優解(第2版)》的價值也是顯而易見的。

作者簡介

左程雲,畢業於華中科技大學(本科)、芝加哥大學(碩士),先後就職於IBM、百度。自2010年起專註刷題至今。除刷題之外,興趣廣泛。

目錄大綱

第1章 棧和隊列
設計一個有getMin功能的棧
由兩個棧組成的隊列
如何僅用遞歸函數和棧操作逆序一個棧
貓狗隊列
用一個棧實現另一個棧的排序
用棧來求解漢諾塔問題
生成窗口最大值數組
單調棧結構
求最大子矩陣的大小
最大值減去最小值小於或等於num的子數組數量
第2章 鏈表問題
可見的山峰對數量
打印兩個有序鏈表的公共部分
在單鏈表和雙鏈表中刪除倒數第K個節點
刪除鏈表的中間節點和a/b處的節點
反轉單向和雙向鏈表
反轉部分單向鏈表
環形單鏈表的約瑟夫問題
判斷一個鏈表是否為迴文結構
將單向鏈表按某值劃分成左邊小、中間相等、右邊大的形式
覆制含有隨機指針節點的鏈表
兩個單鏈表生成相加鏈表
兩個單鏈表相交的一系列問題
將單鏈表的每K個節點之間逆序
刪除無序單鏈表中值重覆出現的節點
在單鏈表中刪除指定值的節點
將搜索二叉樹轉換成雙向鏈表
單鏈表的選擇排序
一種怪異的節點刪除方式
向有序的環形單鏈表中插入新節點
合並兩個有序的單鏈表
按照左右半區的方式重新組合單鏈表
第3章 二叉樹問題
分別用遞歸和非遞歸方式實現二叉樹先序、中序和後序遍歷
打印二叉樹的邊界節點
如何較為直觀地打印二叉樹
二叉樹的序列化和反序列化
遍歷二叉樹的神級方法
在二叉樹中找到累加和為指定值的最長路徑長度
找到二叉樹中的最大搜索二叉子樹
找到二叉樹中符合搜索二叉樹條件的最大拓撲結構
二叉樹的按層打印與ZigZag打印
調整搜索二叉樹中兩個錯誤的節點
判斷t1樹是否包含t2樹全部的拓撲結構
判斷t1樹中是否有與t2樹拓撲結構完全相同的子樹
判斷二叉樹是否為平衡二叉樹
根據後序數組重建搜索二叉樹
判斷一棵二叉樹是否為搜索二叉樹和完全二叉樹
通過有序數組生成平衡搜索二叉樹
在二叉樹中找到一個節點的後繼節點
在二叉樹中找到兩個節點的最近公共祖先
Tarjan算法與並查集解決二叉樹節點間最近公共祖先的批量查詢問題
二叉樹節點間的最大距離問題
派對的最大快樂值
通過先序和中序數組生成後序數組
統計和生成所有不同的二叉樹
統計完全二叉樹的節點數
第4章 遞歸和動態規劃
斐波那契數列問題的遞歸和動態規劃
矩陣的最小路徑和
換錢的最少貨幣數
機器人達到指定位置方法數
換錢的方法數
打氣球的最大分數
最長遞增子序列
信封嵌套問題
漢諾塔問題
最長公共子序列問題
最長公共子串問題
子數組異或和為0的最多劃分
最小編輯代價
字符串的交錯組成
龍與地下城遊戲問題
數字字符串轉換為字母組合的種數
表達式得到期望結果的組成種數
排成一條線的紙牌博弈問題
跳躍遊戲
數組中的最長連續序列
N皇後問題
第5章 字符串問題
判斷兩個字符串是否互為變形詞
判斷兩個字符串是否互為旋轉詞
將整數字符串轉成整數值
字符串的統計字符串
判斷字符數組中是否所有的字符都只出現過一次
在有序但含有空的數組中查找字符串
字符串的調整與替換
翻轉字符串
完美洗牌問題
刪除多餘字符得到字典序最小的字符串
數組中兩個字符串的最小距離
字符串的轉換路徑問題
添加最少字符使字符串整體都是迴文字符串
括號字符串的有效性和最長有效長度
公式字符串求值
0左邊必有1的二進制字符串數量
拼接所有字符串產生字典順序最小的大寫字符串
找到字符串的最長無重覆字符子串
找到指定的新類型字符
旋變字符串問題
最小包含子串的長度
迴文最少分割數
字符串匹配問題
字典樹(前綴樹)的實現
子數組的最大異或和
第6章 大數據和空間限制
認識布隆過濾器
只用2GB內存在20億個整數中找到出現次數最多的數
40億個非負整數中找到未出現的數
找到100億個URL中重覆的URL及搜索詞匯的Top K問題
40億個非負整數中找到出現兩次的數和所有數的中位數
一致性哈希算法的基本原理
島問題
第7章 位運算
不用額外變量交換兩個整數的值
不用做任何比較判斷找出兩個數中較大的數
只用位運算不用算術運算實現整數的加減乘除運算
整數的二進制數表達中有多少個1
在其他數都出現偶數次的數組中找到出現奇數次的數
在其他數都出現k次的數組中找到只出現一次的數
第8章 數組和矩陣問題
轉圈打印矩陣
將正方形矩陣順時針轉動90°
“之”字形打印矩陣
找到無序數組中最小的k個數
需要排序的最短子數組長度
在數組中找到出現次數大於N/K的數
在行列都排好序的矩陣中找指定數
最長的可整合子數組的長度
不重覆打印排序數組中相加和為給定值的所有二元組和三元組
未排序正數數組中累加和為給定值的最長子數組長度
未排序數組中累加和為給定值的最長子數組系列問題
未排序數組中累加和小於或等於給定值的最長子數組長度
計算數組的小和