# | Title | KeyWords | Tag | Difficulty | Beat | Mark |
---|---|---|---|---|---|---|
1 | Two Sum | 数组中两数相加等于目标值(映射) | Array HashTable | Easy | 100% | M |
2 | Add Two Numbers | 链表两数相加 | LinkedList | Medium | ? | - |
7 | Reverse Integer | 反转整数 | Math | Easy | 18% | M |
9 | Palindrome Number | 回文数 | Math | Easy | - | - |
11 | Container With Most Water | 计算最大蓄水量 | Array TwoPointers | Medium | 22% | M |
12 | Integer to Roman | 整数转罗马数字 | Math String | Medium | 18% | M |
13 | Roman to Integer | 罗马数字转整数 | Math String | Easy | 73% | - |
14 | Longest Common Prefix | 最长共同前缀 | String | Easy | 52% | - |
19 | Remove Nth Node From End of List | 删除倒数第n个结点 | LinkedList | Easy | 31% | - |
20 | Valid Parentheses | 有效的括号 | Stack String | Easy | 26% | ⭐️ |
21 | Merge Two Sorted Lists | 合并两种链表 | LinkedList | Easy | 45% | - |
23 | Merge k Sorted Lists | 合并K个排序链表 | LinkedList | hard | 58% | ⭐️ |
24 | Swap Nodes in Pairs | 两两交换链表中的节点 | LinkedList | Medium | 23% | ⭐️ |
26 | Remove Duplicates from Sorted Array | 删除排序数组中的重复项 | Array TwoPointers | Easy | 1% | M |
27 | Remove Element | 删除重复项 | Array TwoPointers | Easy | 100% | |
28 | Implement strStr() | 实现 strStr() 函数 | String TwoPointers | Easy | 17% | M |
29 | Divide Two Integers | 两数相除 | Math BinarySearch | Medium | 24% | M |
35 | Search Insert Position | 寻找插入位置 | Array BinarySearch | Easy | 3% | M |
43 | Multiply Strings | 数字串相乘 | Math String | Medium | ? | - |
50 | Pow(x, n) | x的n次幂 | Array TwoPointers | Medium | 100% | |
66 | Plus One | 数组末尾加一 | Array Math | Medium | 51% | |
67 | Add Binary | 二进制数相加 | Math String | Easy | 8% | M |
69 | Sqrt(x) | 开方 | Math Binary Search | Easy | 80% | |
70 | Climbing Stairs | 爬楼梯 | Dynamic Programming | Easy | 23% | ⭐️ |
71 | Simplify Path | 简化路径 | String Stack | Medium | 7% | M |
74 | Search a 2D Matrix | 搜索二维矩阵 | Array | Medium | 37% | - |
75 | Sort Colors | 颜色分类(排序算法) | Sort | Medium | 11% | M |
83 | Remove Duplicates from Sorted List | 移除排序链表的重复值 | LinkedList | Easy | 5% | M |
88 | Merge Sorted Array | 排序算法 | Array TwoPointers | Easy | 35% | M |
118 | Pascal's Triangle | 杨辉三角 | Array | Easy | 100% | - |
119 | Pascal's Triangle II | 杨辉三角II | Array | Easy | 56% | M(需优化时间复杂度为n) |
120 | Triangle | 三角数组中最小和 | Array Dynamic | Medium | 23% | M |
121 | Best Time to Buy and Sell Stock | 买卖股票的最佳时机 | Array Dynamic Programing | Easy | 21% | M |
125 | Valid Palindrome | 验证回文串 | TwoPointer String | Easy | 13% | M |
136 | Single Number | 只出现一次的数字 | HashTable Bit-Manipulation | Easy | 97% | - |
137 | Single Number II | 只出现一次的数字2 | Bit-Manipulation | Medium | 28% | M |
141 | Linked List Cycle | 环形链表 | LinkedList TwoPointers | Easy | 42% | ⭐️ |
150 | Evaluate Reverse Polish Notation | 逆波兰表达式求值 | Stack | Medium | 0% | M |
153 | Find Minimum in Rotated Sorted Array | 寻找最小值 | Array | Medium | 45% | - |
155 | Min Stack | 最小栈 | Stack | easy | 10% | - |
164 | Maximum Gap | 最大间距 | Sort | Hard | 30% | - |
167 | Two Sum II - Input array is sorted | 已排序数组找两数求目标值(首尾双指针) | Array TwoPointers BinarySearch | Easy | 100% | M |
171 | Excel Sheet Column Number | Excel表列序号 | Math | Easy | 52% | - |
172 | Factorial Trailing Zeroes | 阶乘后的零 | Math | Easy | 0% | M |
189 | Rotate Array | 旋转数组 | Array | Easy | 2% | M |
190 | Reverse Bits | 颠倒二进制位 | Bit-Manipulation | Easy | 70% | ⭐️ |
191 | Number of 1 Bits | 位1的个数 | Bit-Manipulation | Easy | 31% | ⭐️ |
202 | Happy Number | 快乐数 | HashTable Math | Easy | 99% | - |
203 | Remove Linked List Elements | 移除链表元素 | LinkedList | Easy | 34% | - |
204 | Count Primes | 计数质数 | HashTable Math | Easy | 24% | M⭐️ |
206 | Reverse Linked List | 反转链表 | LinkedList | Easy | ? | ⭐️ |
215 | Kth Largest Element in an Array | 数组中的第K个最大元素 | Divide Conquer Heap | Easy | 1% | M |
217 | Contains Duplicate | 存在重复元素 | Array HashTable | Easy | 17% | M |
219 | Contains Duplicate II | 存在重复元素 II | Array HashTable | Easy | 18% | M |
220 | Contains Duplicate III | 存在重复元素 III | Array HashTable | Medium | 31% | M |
225 | Implement Stack using Queues | 用队列实现栈 | Stack | Easy | 32% | - |
229 | Majority Element II | 求众数 II | Array | Medium | 83% | - |
231 | Power of Two | 2的幂 | Math Bit-Manipulation | Easy | 99% | - |
232 | Implement Queue using Stacks | 用栈实现队列 | Stack | Easy | 30% | M |
234 | Palindrome Linked List | 回文链表 | LinkedList | Easy | 45% | - |
237 | Delete Node in a Linked List | 删除链表节点 | LinkedList | Easy | 34% | ⭐️巧妙 |
239 | Sliding Window Maximum | 滑动窗口最大值 | Heap | Hard | 27% | M |
240 | Search a 2D Matrix II | 搜索二维矩阵 II | Binary Search | Medium | 5% | M |
242 | Valid Anagram | 有效的同字母异序词 | HashTable Sort | Easy | 64% | - |
258 | Add Digits | 各位相加 | Math | Easy | 100% | - |
260 | Single Number III | 只出现一次的数字 III | Bit-Manipulation | Medium | 86% | - |
263 | Ugly Number | 丑数 | Bit-Manipulation | Easy | 100% | - |
268 | Missing Number | 缺失数字 | Bit-Manipulation | Easy | 100% | - |
283 | Move Zeroes | 移动零 | Array TwoPointers | Easy | 74% | - |
287 | Find the Duplicate Number | 发现重复数 | Array TwoPointers BinarySearch | Medium | 27% | M需优化 |
326 | Power of Three | 3的幂 | Array TwoPointers | Math | 76% | - |
338 | Counting Bits | 比特位计数 | DynamicProgramming Bit-Manipulation | Medium | ? | - |
342 | Power of Four | 4的幂 | Bit-Manipulation | Easy | 100% | - |
344 | Reverse String | 反转字符串 | TwoPointers String | Easy | 94% | - |
345 | Reverse Vowels of a String | 反转字符串中的元音字母 | TwoPointers String | Easy | 6% | M |
349 | Intersection of Two Arrays | 两数组交集 | HashTable Sort TwoPoints BinarySearch | Easy | 75% | - |
350 | Intersection of Two Arrays II | 两个数组的交集 II | HashTable Sort TwoPoints BinarySearch | Easy | 16% | M |
371 | Sum of Two Integers | 两数之和 | Bit-Manipulation | Easy | ? | 👎 |
383 | Ransom Note | 赎金信 | String | Easy | 17% | M |
387 | First Unique Character in a String | 字符串中的第一个唯一字符 | HashTable String | Easy | 78% | - |
389 | Find the Difference | 找不同 | HashTable Bitmanipulation | Easy | 76% | - |
405 | Convert a Number to Hexadecimal | 数字转十六进制 | Bit-Manipulation | Easy | 0% | M |
412 | Fizz Buzz | Fizz Buzz | String | Easy | 93% | - |
414 | Third Maximum Number | 第三大的数 | Array | Easy | 64% | - |
415 | Add Strings | 字符串数字相加 | Math | Easy | ? | - |
434 | Number of Segments in a String | 字符串中的单词数 | String | Easy | 40% | - |
441 | Arranging Coins | 排列硬币 | Math BinarySearch | Easy | 0% | ⭐️M |
448 | Find All Numbers Disappeared in an Array | 找到所有数组中消失的数字 | Bit-Manipulation | Array | 42% | M |
461 | Hamming Distance | 汉明距离 | Bit-Manipulation | Easy | 100% | ⭐️ |
475 | Heaters | 供暖器 | Binary Search | Easy | 5% | M |
476 | Number Complement | 数字的补数 | Bit-Manipulation | Easy | 45% | ⭐️ |
485 | Max Consecutive Ones | 最大连续1的个数 | Array | Easy | 85% | - |
496 | Next Greater Element I | 下一个最大的数 | Stack | Easy | 16% | M |
500 | Keyboard Row | 键盘行 | HashTable | Easy | 3% | M |
504 | Base 7 | 七进制数 | Math | Easy | 86% | - |
507 | Perfect Number | 完美数字 | Math | Easy | 30% | - |
509 | Fibonacci Number | 斐波那切数列 | Array | Easy | 56% | ⭐️ |
520 | Detect Capital | 检测大写字母 | String | Easy | 1% | M |
540 | Single Element in a Sorted Array | 有序数组中的单一元素 | Array | Medium | 44% | M |
541 | Reverse String II | 反转字符串 II | Array | Easy | 57% | - |
551 | Student Attendance Record I | 学生出勤记录 I | String | Easy | 50% | M |
557 | Reverse Words in a String III | 反转字符串中的单词 III | String | Easy | 40% | - |
561 | Array Partition I | 数组拆分 | Array | Easy | 22% | M |
575 | Distribute Candies | 分糖果 | Array | Easy | 20% | M |
581 | Shortest Unsorted Continuous Subarray | 最短无序连续子数组 | Array | Easy | 21% | - |
605 | Can Place Flowers | 种花问题 | Array | Easy | 22% | - |
643 | Maximum Average Subarray I | 子数组最大平均数 I | Array | Easy | 30% | - |
645 | Set Mismatch | 错误集合 | HashTable Math | Easy | 58% | - |
657 | SRobot Return to Origin | 机器人能否返回原点 | String | Easy | 30% | M |
661 | Image Smoother | 图片平滑器 | Array | Easy | 22% | M |
680 | Valid Palindrome II | 验证回文字符串 Ⅱ | String | Easy | 55% | - |
682 | Baseball Game | 棒球计分 | Stack | Easy | 34% | - |
693 | Binary Number with Alternating Bits | 交替位二进制数 | Bit-Manipulation | Easy | 100% | - |
704 | Binary Search | 二分查找 | Binary Search | Easy | 40% | ⭐️ |
709 | To Lower Case | 转换成小写字母 | String | Easy | 100% | - |
728 | Self Dividing Numbers | 自除数 | Math | Easy | 21% | M |
744 | Find Smallest Letter Greater Than Target | 寻找比目标字母大的最小字母 | Binary Search | Easy | 0% | M |
747 | Largest Number At Least Twice of Others | 至少是其他数字两倍的最大数 | Array | Easy | 30% | M |
762 | Prime Number of Set Bits in Binary Representation | 二进制表示中质数个计算置位 | Bit-Manipulation | Easy | 80% | ⭐️ |
766 | Toeplitz Matrix | 托普利茨矩阵 | Array | Easy | 17% | - |
771 | Jewels and Stones | 宝石与石头 | HashTable | Easy | 15% | M |
791 | Custom Sort String | 自定义字符串排序 | String | Medium | 31% | - |
796 | Rotate String | 旋转字符串 | String | Easy | 100% | - |
804 | Unique Morse Code Words | 唯一摩尔斯密码词 | String | Easy | 20% | M |
821 | Shortest Distance to a Character | 字符的最短距离 | String | Easy | 4% | - |
824 | Goat Latin | 山羊拉丁文 | String | Easy | 18% | - |
832 | Flipping an Image | 翻转图像 | Array | Easy | 100% | - |
844 | Backspace String Compare | 退格比较 | Stack TwoPointers | Easy | 15% | M |
852 | Peak Index in a Mountain Array | 山脉数组的峰顶索引 | Array | Easy | 75% | - |
867 | Transpose Matrix | 反转矩阵 | Array | Easy | ? | |
868 | Binary Gap | 二进制间距 | Math | Easy | 8% | - |
876 | Middle of the Linked List | 链表中点 | LinkedList | Easy | 31% | ⭐️ |
883 | Projection Area of 3D Shapes | 三维形体投影面积 | Array | Easy | 60% | - |
888 | Fair Candy Swap | 公平的糖果交换 | Array | Easy | 12% | - |
896 | Monotonic Array | 单调数列 | Array | Easy | 100% | |
905 | Sort Array By Parity | 按奇偶排序数组 | Array | Easy | 28% | M |
908 | Smallest Range I | 最小差值 I | Math | Easy | 100% | - |
922 | Sort Array By Parity II | 按奇偶排序数组 II | Array Sort | Easy | 87% | - |
925 | Long Pressed Name | 长键按入 | Two Pointers String | Easy | 18% | M |
929 | Unique Email Addresses | 独特的电子邮件地址 | String | Easy | 9% | M |
933 | Number of Recent Calls | 最近的请求次数 | Queue | Easy | 49% | - |
942 | DI String Match | 增减字符串匹配 | Math | Easy | 40% | - |
944 | Delete Columns to Make Sorted | 垃圾题目 | Greedy | Easy | 36% | 👎 |
961 | N-Repeated Element in Size 2N Array | 重复N次的元素 | HashTable | Easy | 100% | - |
973 | K Closest Points to Origin | 最接近原点的K个点 | Math Divide Conquer Sort | Easy | 0% | - |
976 | Largest Perimeter Triangle | 三角形最大周长 | Array Math | Easy | 97% | - |
977 | Squares of a Sorted Array | 排序数组的平方 | Array Two Pointers Sort | Easy | 1% | M |
- 穷举算法
- 动态规划(动态递推):递归 + 记忆化 => 递推 / 最优子结构
- 回溯算法
- 分治算法
- 贪心算法
数据结构 | - | 算法部分 | - |
---|---|---|---|
栈 | Stack | 二分搜索 | Binary Search |
队列 | Queue | 分治 | Divide and Conquer |
链表 | Linked List | 宽度优先搜索 | Breadth First Search |
数组 | Array | 深度优先搜索 | Depth First Search |
哈希表 | Hash Table | 回溯法 | Backtracking |
二叉树 | Binary tree | 双指针 | Two Pointers |
堆 | Heap | 动态规划 | Dynamic Programming |
并查集 | Union Find | 扫描线 | Scan line |
字典树 | Trie | 排序(快排) | Sort |
- | - | 位运算 | Bit-Manipulation |
- | - | 贪心算法 | Greedy |
- 冒泡排序
- 选择排序
- 插入排序
- 希尔排序(插排优化写法)
- 堆排序
- 归并排序
- 快速排序
- 表排序
- 基数排序
- 广度优先搜索 (Breadth-First-Search,BFS) 层层搜索
- 深度优先搜索 (Depth-First-Search,DFS)