1. Integer
�C find number of 1s
�C next largest smaller
�C smallest larger number
�C determine if is palindrom
�C itoa, atoi
�C add 2 numbers w/o using + or arithmetic operators
�C implement *, -, / using only +
�C find max of two numbers w/o comparison
�C swap two numbers with +/-
�C swap two numbers with ^
�C given an integer, find the closest number that is palindrome
�C implement putlong() by putchar()
2. Bit array
3. Linked list
�C find cycle,
�C find position of cycle starts
�C reverse LL
�C delete a node in middle
�C each node contains a value pointer pointing to a node,
duplicate LL.
�C remove duplicates from sorted/un-sorted LL.
�C find n-th to last node to end
�C number is represented by LL, add 2 numbers
4. Array
�C Longest common substring (LCSubstr)
�C Longest common subsequence (LCS).
�C Longest increasing subsequence (LIS).
�C Longest palingdrome in string.
�C array, elements are +/-, find subsequence of max sum
�C circular array, elements are +/-, find subsequence of max sum
�C find all pairs of integers add up to a sum
�C find all pairs of integers add up to a sum,
integers are +/- and sorted
�C find one missing number in N numbers in range [0, N]
�C find two missing number in N numbers in range [0, N].
�C binary search circular array
�C Given {a1, a2, a3, ..}, {b1, b2, b3, …},
get {a1, b1, a2, b2, …}
�C Given 2 arrays A and B, A large enough to hold both,
merge B into A.
Read full article from Google 面试准备清单 - 百分百好牛 - 博客园
No comments:
Post a Comment