[LintCode]——目录

Yet Another Source Code for LintCode

Current Status : 232AC / 289ALL in Language C++, Up to date (2016-02-10)
For more problems and solutions, you can see my LintCode repository.
I'll keep updating for full summary and better solutions. See cnblogs to get details or click problem's Note directly. Tip means has been added tips and sketch (* means has note at cnblogs).
This context template fork from kamyu104 , thanks them very much!

Algorithms

Array

PID# Title Source Time Space Difficulty Tag Note
6 Merge Sorted Array C++ O(m+n) O(1) Easy LeetCode Tip
8 Rotate String C++ O(n) O(1) Easy LeetCode Tip
9 Fizz Buzz C++ O(n) O(1) Easy Tip
30 Insert Interval C++ O(n) O(1) Easy LeetCode, EPI Tip
31 Partition Array C++ O(n) O(1) Medium Tip Two Pointers
32 Minimum Window Substring C++ O(n) O(1) Medium LeetCode todo
38 Search a 2D Matrix II C++ O(m+n) O(1) Medium EPI Tip
39 Recover Rotated Sorted Array C++ O(n) O(1) Easy
46 Majority Number C++ O(n) O(1) Easy LeetCode Tip
47 Majority Number II C++ O(n) O(1) Medium EPI
48 Majority Number III C++ O(n) O(k) Medium EPI
49 Sort Letters by Case C++ O(n) O(1) Medium Two Pointers
50 Product of Array Exclude Itself C++ O(n) O(1) Easy
51 Previous Permutation C++ O(n) O(1) Medium
52 Next Permutation C++ O(n) O(1) Medium LeetCode
57 3 Sum C++ O(n^2 ) O(1) Medium LeetCode Two Pointers, Sort
58 4 Sum C++ O(n^3 ) O(1) Medium LeetCode todo
59 3 Sum Closest C++ O(n^2 ) O(1) Medium LeetCode Two Pointers, Sort
64 Merge Sorted Array II C++ O(m+n) O(1) Easy LeetCode todo
100 Remove Duplicates from Sorted Array C++ O(n) O(1) Easy LeetCode Two Pointers
101 Remove Duplicates from Sorted Array II C++ O(n) O(1) Easy LeetCode Two Pointers
133 Longest Words C++ O(n) O(n) Easy
144 Interleaving Positive and Negative Numbers C++ O(n) O(1) Medium Two Pointers
161 Rotate Image C++ O(n^2 ) O(1) Medium LeetCode
162 Set Matrix Zeroes C++ O(m*n) O(1) Medium LeetCode
172 Remove Element C++ O(n) O(1) Easy LeetCode Two Pointers
185 Matrix Zigzag Traversal C++ O(m*n) O(1) Easy todo
189 First Missing Positive C++ O(n) O(1) Easy LeetCode, EPI Hash
190 Next Permutation II C++ O(n) O(1) Medium LeetCode
200 Longest Palindromic Substring C++ O(n) O(n) Medium LeetCode Manacher's Algorithm
363 Trapping Rain Water C++ O(n) O(1) Medium LeetCode Two Pointers, Tricky
373 Partition Array by Odd and Even C++ O(n) O(1) Easy Two Pointers
374 Spiral Matrix C++ O(m*n) O(1) Medium LeetCode
381 Spiral Matrix II C++ O(n^2 ) O(1) Medium LeetCode todo
382 Triangle Count C++ O(n^2 ) O(1) Medium todo
383 Container With Most Water C++ O(n) O(1) Medium LeetCode, EPI Two Pointers
388 Permutation Sequence C++ O(n^2 ) O(n) Medium LeetCode
389 Valid Sudoku C++ O(9^2 ) O(9) Easy LeetCode
404 Subarray Sum II C++ O(nlogn) O(n) Hard todo
405 Submatrix Sum C++ O(m*n^2 ) O(m) Hard todo
406 Minimum Size Subarray Sum C++ O(n) O(1) Medium LeetCode Two Pointers, Binary Search
539 Move Zeroes C++ O(n) O(1) Easy LeetCode Two Pointers

Backtracking

PID# Title Source Time Space Difficulty Tag Note
15 Permutations C++ O(n*n!) O(n) Medium LeetCode, EPI
16 Permutations II C++ O(n*n!) O(n) Medium LeetCode, EPI
17 Subsets C++ O(n*2^n ) O(1) Medium LeetCode
18 Subsets II C++ O(n*2^n ) O(1) Medium LeetCode
33 N-Queens C++ O(n*n!) O(n) Medium LeetCode, EPI
34 N-Queens II C++ O(n*n!) O(n) Medium LeetCode, EPI
123 Word Search C++ O(mnl) O(l) Medium LeetCode todo
132 Word Search II C++ O(mnl) O(l) Hard Trie, DFS
135 Combination Sum C++ O(k*n^k ) O(k) Medium LeetCode DFS
136 Palindrome Partitioning C++ O(2^n ) O(n) Easy LeetCode, EPI
152 Combinations C++ O(k*n^k ) O(k) Medium LeetCode, EPI
153 Combination Sum II C++ O(k*C(n,k)) O(k) Medium LeetCode DFS
425 Letter Combinations of a Phone Number C++ O(n*4^n ) O(n) Medium LeetCode
426 Restore IP Addresses C++ O(1) O(1) Medium LeetCode
427 Generate Parentheses C++ O(4^n / n^(3/2) ) O(n) Medium LeetCode todo
PID# Title Source Time Space Difficulty Tag Note
14 First Position of Target C++ O(logn) O(1) Easy
28 Search a 2D Matrix C++ O(logm + logn) O(1) Easy LeetCode
60 Search Insert Position C++ O(logn) O(1) Easy LeetCode
61 Search for a Range C++ O(logn) O(1) Medium LeetCode
62 Search in Rotated Sorted Array C++ O(logn) O(1) Medium LeetCode
63 Search in Rotated Sorted Array II C++ O(logn) O(1) Medium LeetCode
65 Median of two Sorted Arrays C++ O(log(min(m,n))) O(1) Hard LeetCode, EPI todo
74 First Bad Version C++ O(logn) O(1) Medium
75 Find Peak Element C++ O(logn) O(1) Medium LeetCode
76 Longest Increasing Subsequence C++ O(nlogn) O(n) Medium CTCI
141 Sqrt(x) C++ O(logn) O(1) Easy LeetCode
159 Find Minimum in Rotated Sorted Array C++ O(logn) O(1) Medium LeetCode
160 Find Minimum in Rotated Sorted Array II C++ O(logn) O(1) Medium LeetCode
183 Wood Cut C++ O(nlogL) O(1) Medium
390 Find Peak Element II C++ Java O(m+n) O(1) Hard todo
437 Copy Books C++ O(nlogp) O(1) Hard UVa 714 todo

Binary Search Trees

PID# Title Source Time Space Difficulty Tag Note
11 Search Range in Binary Search Tree C++ O(n) O(h) Medium EPI
86 Binary Search Tree Iterator C++ O(1) O(h) Hard LeetCode
87 Remove Node in Binary Search Tree C++ O(h) O(h) Hard todo
249 Count of Smaller Number before itself C++ O(nlogn) O(n) Hard BST, BIT, Divide and Conquer, Merge Sort
360 Sliding Window Median C++ O(nlogw) O(w) Hard todo
391 Number of Airplanes in the Sky C++ O(nlogn) O(n) Easy BST, Heap
401 Kth Smallest Number in Sorted Matrix C++ O(klog(min(m,n,k))) O(min(m,n,k)) Medium BST, Heap

Bit Manipulation

PID# Title Source Time Space Difficulty Tag Note
1 A + B Problem C++ O(1) O(1) Medium
82 Single Number C++ O(n) O(1) Easy LeetCode
83 Single Number II C++ O(n) O(1) Easy LeetCode
84 Single Number III C++ O(n) O(1) Medium CTCI
142 O(1) Check Power of 2 C++ O(1) O(1) Easy
179 Update Bits C++ O(1) O(1) Medium CTCI
181 Flip Bits C++ O(1) O(1) Easy CTCI
196 Find the Missing Number C++ O(n) O(1) Medium
365 Count 1 in Binary C++ O(1) O(1) Easy CTCI
PID# Title Source Time Space Difficulty Tag Note
69 Binary Tree Level Order Traversal C++ O(n) O(n) Medium LeetCode BFS
70 Binary Tree Level Order Traversal II C++ O(n) O(n) Medium LeetCode BFS
71 Binary Tree Zigzag Level Order Traversal C++ O(n) O(n) Medium LeetCode BFS
120 Word Ladder C++ O(n*d) O(d) Medium LeetCode BFS
121 Word Ladder II C++ O(n*d) O(d) Hard LeetCode todo
127 Topological Sorting C++ O(V+E) O(E) Medium todo
137 Clone Graph C++ O(V+E) O(V) Medium BFS
176 Route Between Two Nodes in Graph C++ O(n) O(n) Medium DFS, BFS
178 Graph Valid Tree C++ O(V+E) O(V+E) Medium LeetCode todo
431 Find the Connected Component in the Undirected Graph C++ O(n) O(n) Medium todo
477 Surrounded Regions C++ O(m*n) O(m+n) Medium LeetCode

Data Structure

PID# Title Source Time Space Difficulty Tag Note
134 LRU Cache C++ O(1) O(k) Hard LeetCode, EPI List, Hash
PID# Title Source Time Space Difficulty Tag Note
90 K Sum II C++ O(k*C(n,k)) O(k) Medium
376 Binary Tree Path Sum C++ O(n) O(h) Easy LeetCode
433 Number of Islands C++ O(m*n) O(m*n) Easy LeetCode DFS
480 Binary Tree Paths C++ O(n*h) O(h) Easy LeetCode

Dynamic Programming

PID# Title Source Time Space Difficulty Tag Note
20 Dices Sum C++ O(n^2 ) O(n) Hard todo
29 Interleaving String C++ O(m*n) O(min(m,n)) Medium EPI
43 Maximum Subarray III C++ O(k*n) O(k*n) Hard
77 Longest Common Subsequence C++ O(m*n) O(min(m,n)) Medium
79 Longest Common Substring C++ O(m*n) O(min(m,n)) Medium
89 K Sum C++ O(knt) O(n*t) Hard
91 Minimum Adjustment Cost C++ O(knt) O(k) Medium
92 Backpack C++ O(m*n) O(m) Easy
107 Word Break C++ O(n*l^2 ) O(n) Medium LeetCode, EPI todo
108 Palindrome Partitioning II C++ O(n^2 ) O(n) Medium LeetCode, EPI
109 Triangle C++ O(n) O(n) Easy LeetCode, EPI
110 Minimum Path Sum C++ O(m*n) O(min(m,n)) Easy LeetCode, EPI
111 Climbing Stairs C++ O(n) O(1) Easy LeetCode
115 Unique Paths II C++ O(m*n) O(min(m,n)) Easy LeetCode, CTCI DP, Math
118 Distinct Subsequences C++ O(m*n) O(m) Medium LeetCode todo
119 Edit Distance C++ O(m*n) O(min(m,n)) Medium LeetCode, CTCI DP
125 Backpack II C++ O(m*n) O(m) Medium
149 Best Time to Buy and Sell Stock C++ O(n) O(1) Medium LeetCode, EPI
150 Best Time to Buy and Sell Stock II C++ O(n) O(1) Medium LeetCode, EPI
151 Best Time to Buy and Sell Stock III C++ O(n) O(1) Medium LeetCode, EPI
154 Regular Expression Matching C++ O(m*n) O(m) Hard LeetCode todo
168 Burst Balloons C++ O(n^3 ) O(n^2 ) Medium LeetCode todo
191 Maximum Product Subarray C++ O(n) O(1) Medium LeetCode
392 House Robber C++ O(n) O(1) Medium LeetCode
393 Best Time to Buy and Sell Stock IV C++ O(k*n) O(k) Hard LeetCode, EPI
395 Coins in a Line II C++ O(n) O(1) Medium
396 Coins in a Line III C++ O(n^2 ) O(n) Hard todo
397 Longest Increasing Continuous subsequence C++ O(n) O(1) Easy todo
398 Longest Increasing Continuous subsequence II C++ O(m*n) O(m*n) Hard todo
403 Continuous Subarray Sum II C++ O(n) O(1) Medium EPI todo
430 Scramble String C++ O(n^4 ) O(n^3 ) Hard LeetCode todo
435 Post Office Problem C++ O(k*n^2 ) O(n) Hard PKU 1160 todo
436 Maximal Square C++ O(m*n) O(n) Medium LeetCode todo
512 Decode Ways C++ O(n) O(1) Medium LeetCode todo
513 Perfect Squares C++ O(n*sqrt(n)) O(n) Medium LeetCode todo
514 Paint Fence C++ O(n) O(1) Easy LeetCode todo
515 Paint House C++ O(n) O(1) Medium LeetCode todo
516 Paint House II C++ O(n*k) O(k) Hard LeetCode todo
534 House Robber II C++ O(n) O(1) Medium LeetCode todo
564 Backpack VI C++ O(n*t) O(t) Medium

Greedy

PID# Title Source Time Space Difficulty Tag Note
41 Maximum Subarray C++ O(n) O(1) Easy LeetCode
42 Maximum Subarray II C++ O(n) O(n) Medium
44 Minimum Subarray C++ O(n) O(1) Easy
45 Maximum Subarray Difference C++ O(n) O(n) Medium
116 Jump Game C++ O(n) O(1) Medium LeetCode
117 Jump Game II C++ O(n) O(1) Medium LeetCode
182 Delete Digits C++ O(n) O(n) Medium
187 Gas Station C++ O(n) O(1) Easy LeetCode todo
192 Wildcard Matching C++ O(m+n) O(1) Hard LeetCode todo
402 Continuous Subarray Sum C++ O(n) O(1) Medium EPI
412 Candy C++ O(n) O(n) Hard LeetCode Greedy
552 Create Maximum Number C++ O(k*(m+n+k)) ~ O(k*(m+n+k^2 )) O(m+n+k^2 ) Hard LeetCode todo

Hash Tables

PID# Title Source Time Space Difficulty Tag Note
56 2 Sum C++ O(n) O(n) Medium LeetCode
124 Longest Consecutive Sequence C++ O(n) O(n) Medium LeetCode, EPI
128 Hash Function C++ O(n) O(1) Easy
129 Rehashing C++ O(n) O(n) Medium
138 Subarray Sum C++ O(n) O(n) Easy
186 Max Points on a Line C++ O(n^2 ) O(n) Medium LeetCode
211 String Permutation C++ O(n) O(1) Easy todo
384 Longest Substring Without Repeating Characters C++ O(n) O(1) Medium LeetCode, EPI
386 Longest Substring with At Most K Distinct Characters C++ O(n) O(n) Medium todo
432 Find the Weak Connected Component in the Directed Graph C++ O(nlogn) O(n) Medium todo
434 Number of Islands II C++ O(k) O(k) Hard todo
488 Happy Number C++ O(k) O(k) Easy LeetCode
547 Intersection of Two Arrays C++ O(m+n) O(min(m,n)) Easy EPI, LeetCode Two Pointers, Binary Search
548 Intersection of Two Arrays II C++ O(m+n) O(min(m,n)) Easy EPI, LeetCode Two Pointers, Binary Search

Heap

PID# Title Source Time Space Difficulty Tag Note
4 Ugly Number II C++ O(n) O(1) Medium CTCI BST, Heap
81 Data Stream Median C++ O(nlogn) O(n) Hard EPI BST, Heap
130 Heapify C++ O(n) O(1) Medium
364 Trapping Rain Water II C++ O(mn(logm+logn)) O(m*n) Hard todo
518 Super Ugly Number C++ O(n*k) O(n+k) Medium LeetCode todo

Linked List

PID# Title Source Time Space Difficulty Tag Note
16 Merge Two Sorted Lists C++ O(n) O(1) Easy LeetCode, EPI
35 Reverse Linked List C++ O(n) O(1) Easy LeetCode, EPI
36 Reverse Linked List II C++ O(n) O(1) Medium LeetCode, EPI
96 Partition List C++ O(n) O(1) Easy LeetCode
98 Sort List C++ O(nlogn) O(logn) Medium LeetCode, EPI todo
99 Reorder List C++ O(n) O(1) Medium LeetCode
102 Linked List Cycle C++ O(n) O(1) Medium LeetCode
103 Linked List Cycle II C++ O(n) O(1) Hard LeetCode todo
104 Merge k Sorted Lists C++ O(n*logk) O(1) Medium LeetCode Heap, Divide and Conquer
105 Copy List with Random Pointer C++ O(n) O(1) Medium LeetCode
106 Convert Sorted List to Binary Search Tree C++ O(n) O(logn) Medium LeetCode, EPI todo
112 Remove Duplicates from Sorted List C++ O(n) O(1) Easy LeetCode, EPI
113 Remove Duplicates from Sorted List II C++ O(n) O(1) Medium LeetCode, EPI
166 Nth to Last Node in List C++ O(n) O(1) Easy LeetCode
167 Two Lists Sum C++ O(n) O(1) Easy LeetCode todo
170 Rotate List C++ O(n) O(1) Medium LeetCode
173 Insertion Sort List C++ O(n^2 ) O(1) Easy LeetCode
174 Remove Nth Node From End of List C++ O(n) O(1) Easy LeetCode
223 Palindrome Linked List C++ O(n) O(1) Medium LeetCode
372 Delete Node in the Middle of Singly Linked List C++ O(1) O(1) Easy CTCI
380 Intersection of Two Linked Lists C++ O(m+n) O(1) Easy LeetCode
450 Reverse Nodes in k-Group C++ O(n) O(1) Hard LeetCode
451 Swap Nodes in Pairs C++ O(n) O(1) Easy LeetCode
452 Remove Linked List Elements C++ O(n) O(1) Naive LeetCode
511 Swap Two Nodes in Linked List C++ O(n) O(1) Medium todo

Math

PID# Title Source Time Space Difficulty Tag Note
2 Trailing Zeros C++ O(1) O(1) Easy LeetCode
3 Digit Counts C++ O(1) O(1) Medium CTCI
114 Unique Paths C++ O(min(m,n)) O(1) Easy LeetCode, CTCI DP, Math
163 Unique Binary Search Trees C++ O(n) O(1) Medium CTCI DP, Math, Catalan Number
180 Binary Represention C++ O(1) O(1) Hard CTCI todo
197 Permutation Index C++ O(n^2 ) O(1) Easy
198 Permutation Index II C++ O(n^2 ) O(n) Medium todo
394 Coins in a Line C++ O(1) O(1) Easy
411 Gray Code C++ O(2^n ) O(1) Medium LeetCode todo
413 Reverse Integer C++ O(1) O(1) Medium LeetCode
414 Divide Two Integer C++ O(1) O(1) Medium LeetCode
418 Integer to Roman C++ O(n) O(1) Medium LeetCode todo
419 Roman to Integer C++ O(n) O(1) Medium LeetCode todo
428 Pow(x, n) C++ O(1) O(1) Medium LeetCode
445 Cosine Similarity C++ O(n) O(1) Easy
517 Ugly Number C++ O(1) O(1) Easy CTCI, LeetCode

OO Design

PID# Title Source Time Space Difficulty Tag Note
204 Singleton C++ O(1) O(1) Easy
208 Assignment Operator Overloading (C++ Only) C++ O(n) O(1) Medium
496 Toy Factory C++ O(1) O(1) Easy
497 Shape Factory C++ O(1) O(1) Easy
498 Parking Lot C++ O(nmk) O(nmk) Hard CTCI OO Design, Pimpl Idiom, Smart Pointer

Queue

PID# Title Source Time Space Difficulty Tag Note
362 Sliding Window Maximum C++ O(n) O(k) Hard EPI Deque, Tricky

Recursion

PID# Title Source Time Space Difficulty Tag Note
22 Flatten List C++ O(n) O(h) Easy
72 Construct Binary Tree from Inorder and Postorder Traversal C++ O(n) O(n) Medium LeetCode, EPI
73 Construct Binary Tree from Preorder and Inorder Traversal C++ O(n) O(n) Medium LeetCode, EPI
93 Balanced Binary Tree C++ O(n) O(h) Easy LeetCode
94 Binary Tree Maximum Path Sum C++ O(n) O(h) Medium LeetCode
95 Validate Binary Search Tree C++ O(n) O(h) Medium LeetCode
97 Maximum Depth of Binary Tree C++ O(n) O(h) Easy LeetCode
131 Building Outline C++ O(nlogn) O(n) Hard EPI Sort, BST
140 Fast Power C++ O(logn) O(1) Medium
155 Minimum Depth of Binary Tree C++ O(n) O(h) Easy LeetCode
164 Unique Binary Search Trees II C++ O(n*4^n / n^(3/2) ) O(n) Medium LeetCode
177 Convert Sorted Array to Binary Search Tree With Minimal Height C++ O(n) O(logn) Easy LeetCode
201 Segment Tree Build C++ O(n) O(h) Medium Segment Tree, BST
202 Segment Tree Query C++ O(h) O(h) Medium Segment Tree, BST
203 Segment Tree Modify C++ O(h) O(h) Medium Segment Tree, BST
205 Interval Minimum Number C++ build tree: O(n), query: (h) O(h) Hard Segment Tree, BST
206 Interval Sum C++ build tree: O(n), query: O(logn) O(n) Hard Segment Tree, BIT
207 Interval Sum II C++ build tree: O(n), query: O(logn), modify: O(logn) O(n) Hard Segment Tree, BIT
245 Subtree C++ O(m*n) O(1) Easy Morris Traversal
247 Segment Tree Query II C++ O(h) O(h) Hard Segment Tree, BST
248 Count of Smaller Number C++ build tree: O(n), query: O(logn) O(h) Medium Segment Tree, BST
371 Print Numbers by Recursion C++ O(n) O(n) Medium
375 Clone Binary Tree C++ O(n) O(h) Easy
378 Convert Binary Search Tree to Doubly Linked List C++ O(n) O(h) Medium
439 Segment Tree Build II C++ O(n) O(h) Medium Segment Tree, BST
453 Flatten Binary Tree to Linked List C++ O(n) O(h) Easy LeetCode
469 Identical Binary Tree C++ O(n) O(h) Easy
532 Reverse Pairs C++ O(nlogn) O(n) Medium variant of Count of Smaller Number before itself BIT, Merge Sort
535 House Robber III C++ O(n) O(h) Medium LeetCode

Sort

PID# Title Source Time Space Difficulty Tag Note
5 Kth Largest Element C++ O(n) ~ O(n^2 ) O(1) Medium EPI Two Pointers, Quick Sort
80 Median C++ O(n) O(1) Easy EPI
139 Subarray Sum Closest C++ O(nlogn) O(n) Medium Sort
143 Sort Colors II C++ O(n) O(1) Medium
148 Sort Colors C++ O(n) O(1) Medium LeetCode
156 Merge Intervals C++ O(nlogn) O(1) Easy LeetCode, EPI
184 Largest Number C++ O(nlogn) O(1) Medium LeetCode
366 Fibonacci C++ O(n) O(1) Easy
379 Reorder array to construct the minimum number C++ O(nlogn) O(1) Medium LeetCode
387 The Smallest Difference C++ O(max(m,n) * log(min(m,n))) O(1) Medium Two Pointers, Binary Search
399 Nuts & Bolts Problem C++ O(nlogn) O(logn) Medium Quick Sort
400 Maximum Gap C++ O(n) O(n) Hard LeetCode Bucket Sort
463 Sort Integers C++ O(n^2 ) O(1) Easy Insertion Sort, Selection Sort, Bubble Sort
464 Sort Integers II C++ O(nlogn) O(n) Easy Merge Sort, Heap Sort, Quick Sort
507 Wiggle Sort II C++ O(n) on average O(1) Medium LeetCode Tri Partition
508 Wiggle Sort C++ O(n) O(1) Medium LeetCode

Stack

PID# Title Source Time Space Difficulty Tag Note
12 Min Stack C++ O(n) O(1) Medium LeetCode, EPI
40 Implement Queue by Two Stacks C++ O(1), amortized O(n) Medium EPI
66 Binary Tree Preorder Traversal C++ O(n) O(1) Easy LeetCode, EPI Morris Traversal
67 Binary Tree Inorder Traversal C++ O(n) O(1) Easy LeetCode, EPI Morris Traversal
68 Binary Tree Postorder Traversal C++ O(n) O(1) Easy LeetCode, EPI Morris Traversal
122 Largest Rectangle in Histogram C++ O(n) O(n) Hard LeetCode, EPI Ascending Stack
126 Max Tree C++ O(n) O(n) Hard Descending Stack
367 Expression Tree Build C++ O(n) O(n) Hard
368 Expression Evaluation C++ O(n) O(n) Hard
369 Convert Expression to Polish Notation C++ O(n) O(n) Hard
370 Convert Expression to Reverse Polish Notation C++ O(n) O(n) Hard
421 Simplify Path C++ O(n) O(n) Medium LeetCode
423 Valid Parentheses C++ O(n) O(n) Easy LeetCode
424 Evaluate Reverse Polish Notation C++ O(n) O(n) Medium LeetCode
473 Add and Search Word C++ O(min(n,h)) O(min(n,h) Medium LeetCode Trie
510 Maximal Rectangle C++ O(m*n) O(n) Hard LeetCode Ascending Stack
528 Flatten Nested List Iterator C++ O(n) O(h) Medium LeetCode

String

PID# Title Source Time Space Difficulty Tag Note
13 strStr C++ O(n+k) O(k) Easy LeetCode KMP Algorithm
53 Reverse Words in a String C++ O(n) O(1) Easy LeetCode, EPI
54 String to Integer(atoi) C++ O(n) O(1) Hard LeetCode
55 Compare Strings C++ O(n) O(c) Easy
78 Longest Common Prefix C++ O(n) O(1) Medium
157 Unique Characters C++ O(n) O(1) Easy CTCI
158 Two Strings Are Anagrams C++ O(n) O(1) Easy
171 Anagrams C++ O(n*klogk) O(m) Easy LeetCode, EPI
212 Space Replacement C++ O(n) O(1) Easy
407 Plus One C++ O(n) O(1) Easy LeetCode
408 Add Binary C++ O(n) O(1) Easy LeetCode
415 Valid Palindrome C++ O(n) O(1) Easy LeetCode
417 Valid Number C++ O(n) O(1) Hard LeetCode Automata
420 Count and Say C++ O(n*2^n ) O(2^n ) Easy LeetCode
422 Length of Last Word C++ O(n) O(1) Easy LeetCode
524 Left Pad C++ O(p+n) O(1) Easy LeetCode

System Design

PID# Title Source Time Space Difficulty Tag Note
501 Mini Twitter C++ O(klogu) O(t+f) Medium

Tree

PID# Title Source Time Space Difficulty Tag Note
7 Binary Tree Serialization C++ O(n) O(h) Medium
85 Insert Node in a Binary Search Tree C++ O(h) O(1) Easy
88 Lowest Common Ancestor C++ O(n) O(h) Medium EPI
175 Invert Binary Tree C++ O(n) O(h) Easy LeetCode
442 Implement Trie C++ O(n) O(1) Medium LeetCode Trie
posted @ 2017-01-07 13:42  eudiwffe  阅读(546)  评论(0编辑  收藏  举报