cracking the coding interview 中文版 (程序員面試金典)



轉自:CTCI面試系列——谷歌面試官經典作品 | 快課網

谷歌面試官經典作品(CTCI)目錄

1.1 判斷一個字符串中的字符是否唯一

1.2 字符串翻轉

1.3 去除字符串中重複字符

1.8 利用已知函數判斷字符串是否爲另一字符串的子串

2.1 從鏈表中移除重複結點

2.2 實現一個算法從一個單鏈表中返回倒數第n個元素

2.3 給定鏈表中間某結點指針,刪除鏈表中該結點

2.4 求由兩個鏈表結點組成的數之和

2.5 給定一個循環鏈表,實現一個算法返回這個環的開始結點

3.1 如何只用一個數組實現三個棧

3.2 實現一個棧,要求實現min函數以返回棧中的最小值

3.3 實現數據結構SetOfStacks來模擬疊盤子

3.4 編程解決漢諾塔問題

3.5 使用兩個棧實現一個隊列

3.6 寫程序將一個棧按升序排序

4.1 用一個函數判斷一棵樹是否平衡

4.2 設計算法判斷有向圖兩結點間是否存在路徑

4.3 將遞增數組構建成一顆最小高度二叉樹

4.4 將二叉樹每一層結點構建成一個鏈表

4.5 查找二叉查找樹的任意給定結點的“下一個”結點

4.6 找出一棵二叉樹中兩個結點的第一個共同祖先結點

4.7 判斷一棵二叉樹是否爲另一棵二叉樹的子樹

4.8 輸出二叉樹中路徑上結點值之和爲給定值的所有路徑

5.1 寫程序使整數N中第i位到第j位的值與整數M中的相同

5.2 給定一個字符串類型表示的小數,輸出其二進制表示

5.3 給定一個整數x,找出另外兩個二進制表示中1的個數和x相同的數

5.4 解釋以下代碼的作用:((n & (n-1)) == 0)

5.5 寫程序計算從整數A變爲整數B需要修改的二進制位數

5.6 交換一個整數二進制表示中的奇數位和偶數位

5.7 寫程序找出丟失的整數,要求時間複雜度O(n)

6.1-6.6 程序員”腦筋急轉彎”

7.1 爲通用卡牌遊戲設計數據結構,並設計子類

7.2 爲電話呼叫中心設計類和數據結構

7.3 用面向對象的方法設計一個音樂播放機

7.4 用面向對象思想設計一個國際象棋遊戲

7.5 利用OOP思想設計在線讀書系統

7.6 設計一個拼圖遊戲的數據結構

7.7 如何設計一個聊天服務程序

7.8 用面向對象思想設計奧賽羅遊戲(Othello)

7.9 爲一個內存文件系統設計數據結構和算法

7.10 使用C++實現一個垃圾回收器

8.1 寫一個函數來產生第n個斐波那契數

8.2 機器人路徑計算

8.3 寫一個函數返回一個集合中的所有子集

8.4 寫一個函數返回一個串的所有排列

8.5 實現一個算法打印出n對括號的有效組合

8.6 實現圖像處理軟件中的“填充”函數

8.7 有25分,10分,5分和1分的硬幣無限個,計算組成n分的組合數

8.8 經典八皇后問題

9.1 寫一個函數將數組B融入數組A,並使其有序

9.2 寫一個函數對字符串數組排序,使所有變位詞都相鄰

9.3 在一個數字中查找特定元素

9.4 如何給一個2G文件中的字符串排序?

9.5 寫一個函數找到給定字符串的位置

9.6 在一個矩陣中找出特定的數

9.7 寫一個函數模擬疊羅漢節目

10.1-10.7 程序員面試——數學相關題目

11.1-11.6 程序員面試—測試相關題目

12.1 股價信息摘要整合方案

12.2 如何爲社交網站(如facebook,新浪微博)設計數據結構

12.3 在40億個整數值中查找特定數據

12.4 數組去重(限制內存爲4kb)

12.5 如果讓你設計一個網絡爬蟲,你怎麼避免陷入無限循環?

12.6 10億個url,每個url對應一個網頁,如何檢測重複的網頁?

12.7 如何設計一個支持TB級別數據的數據庫

13.1 用C++寫一個函數,輸出文件的最後k行。

13.2 淺析哈希表和STL map

13.3 C++中的虛函數是如何工作的?

13.4 深拷貝和淺拷貝有什麼區別,如何使用?

13.5 C語言關鍵字”volatile”的作用?

13.6 C++中名字隱藏是指什麼?

13.7 爲什麼基類中的析構函數要聲明爲虛析構函數?

13.8 寫一個函數,返回傳入數據結構的一份完全拷貝

13.9 寫一個智能指針類(smart_ptr)

15.1 寫一條SQL語句找到每個部門員工的數量

15.2 SQL的連接有哪些不同的類型?並解釋其異同點

15.3 什麼是反範式?它的優缺點是什麼?

15.4 畫一個數據庫的(ER圖),實體包括:公司、人、 專業人士

15.5 寫SQL查詢語句查詢成績排名前10%的學生

16-20章請見   編程藝術


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章