我如今是一名 Android Developer,大学的我曾是一名 ACMer,我一直认为数据结构和算法是作为一名程序员必须掌握和善于利用的,为了不让数据结构和算法淡出我的记忆,所以我打算重拾 LeetCode 之 Algorithm,语言选择的是 Java,题库会一点点完善起来,按简单,中等,困难分类,相应难度下按题号排序,源代码在 src 目录中,相关解题都在 note 目录中,想要学习数据结构和算法或打算刷 LeetCode 的小伙伴们欢迎 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。
附上镇楼诗:
明有科举八股,今有 LeetCode。
八股定格式而取文采心意,LeetCode 定题目且重答案背诵。
美其名曰:"practice makes perfect."
为何今不如古?
非也非也,
科举为国取士,LeetCode 为 Google 筛码工,各取所需也。
# | 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, Divide and Conquer, Dynamic Programming |
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 |
5 | Longest Palindromic Substring | String, Dynamic Programming |
6 | ZigZag Conversion | String |
8 | String to Integer (atoi) | Math, String |
11 | Container With Most Water | Array, Two Pointers |
12 | Integer to Roman | Math, String |
15 | 3Sum | Array, Two Pointers |
15 | 3Sum Closest | Array, Two Pointers |
17 | Letter Combinations of a Phone Number | String, Backtracking |
18 | 4Sum | Array, Hash Table, Two Pointers |
19 | Remove Nth Node From End of List | Linked List, Two Pointers |
22 | Generate Parentheses | String, Backtracking |
24 | Swap Nodes in Pairs | Linked List |
29 | Divide Two Integers | Math, Binary Search |
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 |
56 | Merge Intervals | Array, Sort |
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 |
30 | Substring with Concatenation of All Words | Hash Table, Two Pointers, String |
44 | Wildcard Matching | String, Dynamic Programming, Backtracking, Greedy |
57 | Insert Interval | Array, Sort |
68 | Text Justification | String |
欢迎加入我的知识星球「基你太美」,我会在星球中分享 AucFrame 框架、大厂面经、AndroidUtilCode 更详尽的说明...一切我所了解的知识,你可以通过支付进入我的星球「基你太美」进行体验,加入后优先观看星球中精华的部分,如果觉得星球的内容对自身没有收益,你可以自行申请退款退出星球,也没必要加我好友;如果你已确定要留在我的星球,可以通过扫描如下二维码(备注:基你太美+你的星球昵称)加我个人微信,方便我后续拉你进群(PS:进得越早价格越便宜)。