我如今是一名Android Developer,大学的我曾是一名ACMer,为了不想让算法淡出我的记忆,故重拾LeetCode之Algorithm,语言选择的是Java,题库会一点点完善起来,按简单,中等,困难分类,相应难度下按题号排序,工程代码在project目录中,相关解题都在note目录中,欢迎star。
如今有机会面试Facebook,附上LeetCode上Facebook的面试题目序号,希望可以帮助到以后想入Facebook的小伙伴:-)
1,10,13,15,17,20,23,25,26,28,33,38,43,44,49,50,56,57,67,68,69,71,75,76 78,79,80,85,88,90,91,98,102,117,121,125,127,128,133,139,146,157,158,161 168,173,200,206,208,209,210,211,215,218,221,234,235,236,238,252,253,257 261,265,269,273,274,275,277,278,282,283,285,286,297,301,311,314,325,334 341,377,380,398,404,410,461,477,494,523,525,534,535,543,554 如果想知道更多公司LeetCode面试题,可以参看Companies.md。
| # | Title | Tag |
|---|---|---|
| 1 | Two Sum | Array, Hash Table |
| 7 | Reverse Integer | Math |
| 9 | Palindrome Number | Math |
| 13 | Roman to Integer | Math, String |
| 14 | Longest Common Prefix | String |
| 20 | Valid Parentheses | Stack, String |
| 21 | Merge Two Sorted Lists | Linked List |
| 26 | Remove Duplicates from Sorted Array | Array, Two Pointers |
| 27 | Remove Element | Array, Two Pointers |
| 28 | Implement strStr() | Two Pointers, String |
| 35 | Search Insert Position | String |
| 38 | Count and Say | String |
| 53 | Maximum Subarray | Array, Dynamic Programming, Divide and Conquer |
| 58 | Length of Last Word | String |
| 66 | Plus One | Array, Math |
| 67 | Add Binary | Math, String |
| 69 | Sqrt(x) | Binary Search, Math |
| 70 | Climbing Stairs | Dynamic Programming |
| 83 | Remove Duplicates from Sorted List | Linked List |
| 88 | Merge Sorted Array | Array, Two Pointers |
| 100 | Same Tree | Tree, Depth-first Search |
| 101 | Symmetric Tree | Tree, Depth-first Search, Breadth-first Search |
| 104 | Maximum Depth of Binary Tree | Tree, Depth-first Search |
| 107 | Binary Tree Level Order Traversal II | Tree, Breadth-first Search |
| 108 | Convert Sorted Array to Binary Search Tree | Tree, Depth-first Search |
| 110 | Balanced Binary Tree | Tree, Depth-first Search |
| 111 | Minimum Depth of Binary Tree | Tree, Depth-first Search, Breadth-first Search |
| 112 | Path Sum | Tree, Depth-first Search |
| 118 | Pascal's Triangle | Array |
| 119 | Pascal's Triangle II | Array |
| 121 | Best Time to Buy and Sell Stock | Array, Dynamic Programmin |
| 122 | Best Time to Buy and Sell Stock II | Array, Greedy |
| 543 | Diameter of Binary Tree | Tree |
| # | Title | Tag |
|---|---|---|
| 2 | Add Two Numbers | Linked List, Math |
| 3 | Longest Substring Without Repeating Characters | Hash Table, Two Pointers, String |
| 8 | String to Integer (atoi) | Math, String |
| 15 | 3Sum | Array, Two Pointers |
| 17 | Letter Combinations of a Phone Number | String, Backtracking |
| 19 | Remove Nth Node From End of List | Linked List, Two Pointers |
| 33 | Search in Rotated Sorted Array | Arrays, Binary Search |
| 43 | Multiply Strings | Math, String |
| 49 | Group Anagrams | Hash Table, String |
| 50 | Pow(x, n) | Math, Binary Search |
| 554 | Brick Wall | Hash Table |
| # | Title | Tag |
|---|---|---|
| 4 | Median of Two Sorted Arrays | Array, Binary Search, Divide and Conquer |
| 10 | Regular Expression Matching | String, Dynamic Programming, Backtracking |
| 23 | Merge k Sorted Lists | Linked List, Divide and Conquer, Heap |
| 25 | Reverse Nodes in k-Group | Linked List |
| 44 | Reverse Nodes in k-Group | String, Dynamic Programming, Backtracking, Greedy |