Preparing For The Interview 面试准备
Cracking the Coding Interview:
CC使用方法,每道题思考30分钟左右如果没有头绪就看答案,推敲,然后在纸上和电脑里实现。每次两道题。每天2-3次(放假时)。 平时周末一次即可。
leetcode:
参考答案:
https://github.com/iphkwan/leetcode
https://github.com/fanfank/leetcode
面试题按照难度分类
(第一行是题目,难度,频率;第二行是数据结构,算法)
Id Question Difficulty Freqency Data Structures Algorithms
1 Two Sum 2 5 array set sort two pointers
2 Add Two Numbers 3 4 linked list two pointers math
3 Longest Substring Without Repeating Characters 3 2 string hashtable two pointers
4 Median of Two Sorted Arrays 5 3 array binary search
5 Longest Palindromic Substring 4 2 string
6 ZigZag Conversion 3 1 string
7 Reverse Integer 2 3 math
8 String to Integer (atoi) 2 5 string math
9 Palindrome Number 2 2 math 10 Regular Expression Matching 5 3 string recursion dp
11 Container With Most Water 3 2 array two pointers
12 Integer to Roman 3 4 math
13 Roman to Integer 2 4 math
14 Longest Common Prefix 2 1 string
15 3Sum 3 5 array two pointers
16 3Sum Closest 3 1 array two pointers
17 Letter Combinations of a Phone Number 3 3 string dfs
18 4Sum 3 2 array
19 Remove Nth Node From End of List 2 3 linked list two pointers
20 Valid Parentheses 2 5 string stack
21 Merge Two Sorted Lists 2 5 linked list sort two pointers merge
22 Generate Parentheses 3 4 string dfs
23 Merge k Sorted Lists 3 4 linked list heap sort two pointers merge
24 Swap Nodes in Pairs 2 4 linked list
25 Reverse Nodes in k-Group 4 2 linked list recursion two pointers
26 Remove Duplicates from Sorted Array 1 3 array two pointers
27 Remove Element 1 4 array two pointers
28 Implement strStr() 4 5 string two pointers KMP rolling hash
29 Divide Two Integers 4 3 binary search math
30 Substring with Concatenation of All Words 3 1 string two pointers
31 Next Permutation 5 2 array permutation
32 Longest Valid Parentheses 4 1 string dp
33 Search in Rotated Sorted Array 4 3 array binary search
34 Search for a Range 4 3 array binary search
35 Search Insert Position 2 2 array
36 Valid Sudoku 2 2 array
37 Sudoku Solver 4 2 array dfs
38 Count and Say 2 2 string two pointers
39 Combination Sum 3 3 array combination
40 Combination Sum II 4 2 array combination
41 First Missing Positive 5 2 array sort
42 Trapping Rain Water 4 2 array two pointers stack
43 Multiply Strings 4 3 string two pointers math
44 Wildcard Matching 5 3 string recursion dp greedy
45 Jump Game II 4 2 array
46 Permutations 3 4 array permutation
47 Permutations II 4 2 array permutation
48 Rotate Image 4 2 array
49 Anagrams 3 4 string hashtable
50 Pow(x, n) 3 5 binary search math
51 N-Queens 4 3 array dfs
52 N-Queens II 4 3 array dfs
53 Maximum Subarray 3 3 array dp
54 Spiral Matrix 4 2 array
55 Jump Game 3 2 array
56 Merge Intervals 4 5 array linked list red-black tree sort merge
57 Insert Interval 4 5 array linked list red-black tree sort merge
58 Length of Last Word 1 1 string
59 Spiral Matrix II 3 2 array
60 Permutation Sequence 5 1 permutation math
61 Rotate List 3 2 linked list two pointers
62 Unique Paths 2 3 array dp
63 Unique Paths II 3 3 array dp
64 Minimum Path Sum 3 3 array dp
65 Valid Number 2 5 string math
66 Plus One 1 2 array math
67 Add Binary 2 4 string two pointers math
68 Text Justification 4 2 string
69 Sqrt(x) 4 4 binary search
70 Climbing Stairs 2 5 dp
71 Simplify Path 3 1 string stack
72 Edit Distance 4 3 string dp
73 Set Matrix Zeroes 3 5 array
74 Search a 2D Matrix 3 3 array binary search
75 Sort Colors 4 2 array sort two pointers
76 Minimum Window Substring 4 2 string two pointers
77 Combinations 3 4 combination
78 Subsets 3 4 array recursion combination
79 Word Search 3 4 array dfs
80 Remove Duplicates from Sorted Array II 2 2 array two pointers
81 Search in Rotated Sorted Array II 5 3 array binary search
82 Remove Duplicates from Sorted List II 3 3 linked list recursion two pointers
83 Remove Duplicates from Sorted List 1 3 linked list
84 Largest Rectangle in Histogram 5 2 array stack
85 Maximal Rectangle 5 1 array dp stack
86 Partition List 3 3 linked list two pointers
87 Scramble String 5 2 string recursion dp
88 Merge Sorted Array 2 5 array two pointers merge
89 Gray Code 4 2 combination
90 Subsets II 4 2 array recursion combination
91 Decode Ways 3 4 string recursion dp
92 Reverse Linked List II 3 2 linked list two pointers
93 Restore IP Addresses 3 3 string dfs
94 Binary Tree Inorder Traversal 4 3 tree hashtable recursion morris stack
95 Unique Binary Search Trees II 4 1 tree dp dfs
96 Unique Binary Search Trees 3 1 tree dp
97 Interleaving String 5 2 string recursion dp
98 Validate Binary Search Tree 3 5 tree dfs
99 Recover Binary Search Tree 4 2 tree dfs
100 Same Tree 1 1 tree dfs
101 Symmetric Tree 1 2 tree dfs
102 Binary Tree Level Order Traversal 3 4 tree bfs
103 Binary Tree Zigzag Level Order Traversal 4 3 queue tree bfs stack
104 Maximum Depth of Binary Tree 1 1 tree dfs
105 Construct Binary Tree from Preorder and Inorder Tr 3 3 array tree dfs
106 Construct Binary Tree from Inorder and Postorder T 3 3 array tree dfs
107 Binary Tree Level Order Traversal II 3 1 tree bfs
108 Convert Sorted Array to Binary Search Tree 2 3 tree dfs
109 Convert Sorted List to Binary Search Tree 4 3 linked list recursion two pointers
110 Balanced Binary Tree 1 2 tree dfs
111 Minimum Depth of Binary Tree 1 1 tree dfs
112 Path Sum 1 3 tree dfs
113 Path Sum II 2 2 tree dfs
114 Flatten Binary Tree to Linked List 3 3 tree recursion stack
115 Distinct Subsequences 4 2 string dp
116 Populating Next Right Pointers in Each Node 3 3 tree dfs
117 Populating Next Right Pointers in Each Node II 4 2 tree dfs
118 Pascal’s Triangle 2 1 array
119 Pascal’s Triangle II 2 1 array
120 Triangle 3 1 array dp
121 Best Time to Buy and Sell Stock 2 1 array dp
122 Best Time to Buy and Sell Stock II 3 1 array greedy
123 Best Time to Buy and Sell Stock III 4 1 array dp
124 Binary Tree Maximum Path Sum 4 2 tree dfs
125 Valid Palindrome 2 5 string two pointers
126 Word Ladder II 1 1
127 Word Ladder 3 5 graph bfs shortest path
128 Longest Consecutive Sequence 4 3 array
129 Sum Root to Leaf Numbers 2 4 tree dfs
130 Surrounded Regions 4 3 array bfs dfs
131 Palindrome Partitioning 3 4 string dfs
132 Palindrome Partitioning II 4 3 string dp
面试题按照数据结构分类
Dynamic Programming
Edit Distance
Maximum Subarray
Minimum Path Sum
Unique Paths
Unique Paths II
Longest Palindromic Substring
Interleaving String
Triangle
Distinct Subsequences
Decode Ways
Palindrome Partitioning II
Maximal Rectangle
Recursion
N-Queens
N-Queens II
Balanced Binary Tree
Binary Tree Inorder Traversal
Binary Tree Maximum Path Sum
Convert Sorted Array to Binary Search Tree
Convert Sorted List to Binary Search Tree
Flatten Binary Tree to Linked List
Maximum Depth of Binary Tree
Minimum Depth of Binary Tree
Path Sum
Permutations
Permutations II
Populating Next Right Pointers in Each Node
Pow(x, n)
Same Tree
Subsets
Sum Root to Leaf Numbers
Swap Nodes in Pairs
Symmetric Tree
Valid Palindrome
Validate Binary Search Tree
Restore IP Addresses
Combinations
Interleaving String (dp is the best)
Combination Sum II
Letter Combinations of a Phone Numbers
Word Search
Construct Binary Tree from Inorder and Postorder Traversal
Construct Binary Tree from Preorder and Inorder Traversal
Generate Parentheses
Surrounded Regions (runtime error)
Palindrome Partitioning
Combination Sum
Sudoku Solver
Unique Binary Search Trees II
Binary Search
Search Insert Position
Search a 2D Matrix
Search for a Range
Search in Rotated Sorted Array
Sqrt(x)
Sequence
Container With Most Water
Count and Say
First Missing Positive
Implement strStr()
Jump Game
Jump Game II
Length of Last Word
Longest Common Prefix
Longest Substring Without Repeating Characters
Merge Sorted Array
Palindrome Number
Plus One
Remove Duplicates from Sorted Array
Remove Duplicates from Sorted Array II
Remove Element
Reverse Integer
Search in Rotated Sorted Array II
Sort Colors
Two Sum
3Sum
3Sum Closest
4Sum
Add Binary
Longest Palindromic Substring
Next Permutation
Longest Valid Parentheses
Climbing Stairs
Permutation Sequence
Simplify Path
String to Integer (atoi)
Minimum Window Substring
Longest Consecutive Sequence
Trapping Rain Water
Valid Number
Linked List
Add Two Numbers
Convert Sorted List to Binary Search Tree
Merge Two Sorted Lists
Partition List
Remove Duplicates from Sorted List
Remove Duplicates from Sorted List II
Remove Nth Node From End of List
Reverse Linked List II
Reverse Nodes in k-Group
Rotate List
Swap Nodes in Pairs
Stack
Binary Tree Inorder Traversal
Binary Tree Level Order Traversal II
Valid Parentheses
Queue
Binary Tree Level Order Traversal
Binary Tree Level Order Traversal II
Populating Next Right Pointers in Each Node II
Symmetric Tree
Surrounded Regions
Word Ladder
Tree
Balanced Binary Tree
Binary Tree Inorder Traversal
Binary Tree Level Order Traversal
Binary Tree Level Order Traversal II
Binary Tree Maximum Path Sum
Convert Sorted Array to Binary Search Tree
Convert Sorted List to Binary Search Tree
Flatten Binary Tree to Linked List
Maximum Depth of Binary Tree
Minimum Depth of Binary Tree
Path Sum
Same Tree
Sum Root to Leaf Numbers
Symmetric Tree
Validate Binary Search Tree
Reference:
Coffee-Coder: Leetcode 题目分类 http://blog.csdn.net/fightforyourdream/article/details/12705509
Reference:
Author: peking2 Source: http://leetcode.cloudfoundry.com/
blog comments powered by Disqus