Cracking Programming Interviews: 350 Questions with Solutions (Paperback)
暫譯: 破解程式設計面試:350 道問題與解答 (平裝本)

Sergei Nakariakov

  • 出版商: CreateSpace Independ
  • 出版日期: 2013-07-05
  • 售價: $1,400
  • 貴賓價: 9.5$1,330
  • 語言: 英文
  • 頁數: 528
  • 裝訂: Paperback
  • ISBN: 1484021835
  • ISBN-13: 9781484021835
  • 相關分類: 職涯發展
  • 立即出貨(限量) (庫存=2)

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

相關主題

商品描述

This book contains 350 programming questions most frequently asked in technical interviews in top technical companies including Facebook, Microsoft, Google, Apple, Yahoo and others. Detailed solutions are provided for all of these including tips and techniques for solving similar problems.


Part I Algorithms and Data Structures

1 Fundamentals

Approximating the square root of a number
Generating Permutation Efficiently
Unique 5-bit Sequences
Select Kth Smallest Element
The Non-Crooks Problem
Is this (almost) sorted?
Sorting an almost sorted list
The Longest Upsequence Problem
Fixed size generic array in C++
Seating Problem
Segment Problems
Exponentiation
Searching two-dimensional sorted array
Hamming Problem
Constant Time Range Query
Linear Time Sorting
Writing a Value as the Sum of Squares
The Celebrity Problem
Transport Problem
Find Length of the rope
Switch Bulb Problem
In, On or Out
The problem of the balanced seg
The problem of the most isolated villages


2 Arrays

The Plateau Problem
Searching in Two Dimensional Sequence
The Welfare Crook Problem
2D Array Rotation
A Queuing Problem in A Post Office
Interpolation Search
Robot Walk
Linear Time Sorting
Write as sum of consecutive positive numbers
Print 2D Array in Spiral Order
The Problem of the Circular Racecourse
Sparse Array Trick
Bulterman’s Reshuffling Problem
Finding the majority
Mode of a Multiset
Circular Array
Find Median of two sorted arrays
Finding the missing integer
Finding the missing number with sorted columns
Re-arranging an array
Switch and Bulb Problem
Compute sum of sub-array
Find a number not sum of subsets of array
K th Smallest Element in Two Sorted Arrays
Sort a sequence of sub-sequences
Find missing integer
Inplace Reversing
Find the number not occurring twice in an array


3 Trees

Lowest Common Ancestor(LCA) Problem
Spying Campaign


4 Dynamic Programming

String Edit Distance
Music recognition
Max Sub-Array Problem

5 Graphs

Reliable distribution
Independent Set
Party Problem

6 Miscellaneous

Compute Next Higher Number
Searching in Possibly Empty Two Dimensional Sequence
Matching Nuts and Bolts Optimally
Random-number generation
Weighted Median
Compute a^n
Compute a^n revisited
Compute the product a × b .
Compute the quotient and remainder
Compute GCD
Computed Constrained GCD
Alternative Euclid’ Algorithm
Revisit Constrained GCD
Compute Square using only addition and subtraction
Factorization
Factorization Revisited
Decimal Representation
Reverse Decimal Representation
Solve Inequality
Solve Inequality Revisited
Print Decimal Representation
Decimal Period Length
Sequence Periodicity Problem
Compute Function
Emulate Division and Modulus Operations
Sorting Array of Strings : Linear Time
LRU data structure
Exchange Prefix and Suffix

7 Parallel Algorithms

Parallel Addition
Find Maximum
The Parallel Prefix Problem
Finding Ranks in Linked Lists
Finding the k th Smallest Element

Part II C++

8 General
9 Constant Expression
10 Type Specifier
11 Namespaces
12 Misc
13 Classes
14 Templates
15 Standard Library

商品描述(中文翻譯)

本書包含350個在頂尖技術公司(包括Facebook、Microsoft、Google、Apple、Yahoo等)技術面試中最常被問到的程式設計問題。所有問題均提供詳細解答,包括解決類似問題的技巧和方法。

第一部分 演算法與資料結構

1 基礎知識

近似計算一個數字的平方根
有效生成排列
唯一的5位元序列
選擇第K小的元素
非騙子問題
這個(幾乎)已排序了嗎?
對幾乎已排序的列表進行排序
最長上升子序列問題
C++中的固定大小泛型陣列
座位問題
區段問題
指數運算
搜尋二維已排序陣列
漢明問題
常數時間範圍查詢
線性時間排序
將值寫成平方和
名人問題
運輸問題
找出繩子的長度
開關燈泡問題
在、上或外
平衡區段的問題
最孤立村莊的問題

2 陣列

高原問題
在二維序列中搜尋
福利騙子問題
二維陣列旋轉
郵局的排隊問題
插值搜尋
機器人行走
線性時間排序
寫成連續正整數的和
以螺旋順序列印二維陣列
圓形賽道的問題
稀疏陣列技巧
Bulterman的重排問題
找出多數
多重集合的眾數
圓形陣列
找出兩個已排序陣列的中位數
找出缺失的整數
找出缺失的數字(已排序的列)
重新排列陣列
開關與燈泡問題
計算子陣列的和
找出不為陣列子集和的數字
兩個已排序陣列中的第K小元素
對子序列進行排序
找出缺失的整數
就地反轉
找出在陣列中不重複的數字

3 樹

最低公共祖先(LCA)問題
間諜行動

4 動態規劃

字串編輯距離
音樂識別
最大子陣列問題

5 圖

可靠分配
獨立集
派對問題

6 其他

計算下一個更高的數字
在可能為空的二維序列中搜尋
最佳匹配螺母和螺栓
隨機數生成
加權中位數
計算a^n
重新計算a^n
計算乘積a × b
計算商和餘數
計算GCD
計算約束GCD
替代歐幾里得算法
重新檢視約束GCD
僅使用加法和減法計算平方
因式分解
重新檢視因式分解
十進制表示法
反向十進制表示法
解不等式
重新解不等式
列印十進制表示法
十進制週期長度
序列週期性問題
計算函數
模擬除法和取餘運算
線性時間排序字串陣列
LRU資料結構
交換前綴和後綴

7 平行演算法

平行加法
找出最大值
平行前綴問題
在鏈結串列中找出排名
找出第k小的元素

第二部分 C++

8 一般
9 常數表達式
10 類型說明符
11 命名空間
12 其他
13 類別
14 模板
15 標準庫