说明:为了方便以后复习,建立第一个目录,暂时整理这些,以后会继续整理,如有不当之处,欢迎指正批评哦。
(为什么要分文章建目录?发现文章变长之后,CSDN支持体验不佳,编辑起来很卡)
基础算法-学习整理-1 LeetCode:0~500
基础算法-学习整理-2 LeetCode:> 500
1、LeetCode目录
题号 | 英文名 | 中文名 | 级别 | 标签1 | 标签2 | 标签3 |
---|---|---|---|---|---|---|
1 | Two Sum | 1.两数之和 | 简单 | 数组 | 哈希表 | |
2 | Add Two Numbers | 2.两数相加 | 简单 | 链表 | 数学 | |
3 | Longest Substring Without Repeating Characters | 3.无重复字符的最长子串 | 中等 | 哈希表 | 双指针 | 字符串 |
4 | Median of Two Sorted Arrays | 4.寻找两个有序数组的中位数 | 困难 | 数组 | 二分查找 | 分治算法 |
11 | Container With Most Water | 11.盛最多水的容器 | 中等 | 数组 | 双指针 | |
14 | Longest Common Prefix | 14.最长公共前缀 | 简单 | 字符串 | ||
16 | 3Sum Closest | 16.最接近的三数之和 | 中等 | 数组 | 双指针 | |
17 | Letter Combinations of a Phone Number | 17.电话号码的字母组合 | 中等 | 字符串 | 回溯算法 | |
19 | Remove Nth Node From End of List | 19.删除链表的倒数第N个节点 | 中等 | 链表 | 双指针 | |
22 | Generate Parentheses | 22.括号生成 | 中等 | 字符串 | 回溯算法 | |
24 | Swap Nodes in Pairs | 24.两两交换链表中的节点 | 中等 | 链表 | ||
28 | Implement strStr() | 28.实现 strStr() 函数 | 简单 | 字符串 | 双指针 | kmp |
30 | Substring with Concatenation of All Words | 30.串联所有单词的子串 | 困难 | 哈希表 | 双指针 | 字符串 |
32 | Longest Valid Parentheses | 32.最长有效括号 | 困难 | 字符串 | 动态规划 | |
37 | Sudoku Solver | 37.解数独 | 困难 | 哈希表 | 回溯算法 | |
38 | Count and Say | 38.外观数列 | 简单 | 字符串 | ||
41 | First Missing Positive | 41.缺失的第一个正数 | 困难 | 数组 | ||
42 | Trapping Rain Water | 42.接雨水 | 困难 | 栈 | 数组 | 双指针 |
43 | Multiply Strings | 43.字符串相乘 | 中等 | 数学 | 字符串 | |
45 | Jump Game II | 45.跳跃游戏 II | 困难 | 贪心算法 | 数组 | |
46 | Permutations | 46.全排列 | 中等 | 回溯算法 | ||
47 | Permutations II | 47.全排列 II | 中等 | 回溯算法 | ||
48 | Rotate Image | 48.旋转图像 | 中等 | 数组 | ||
49 | Group Anagrams | 49.字母异位词分组 | 中等 | 哈希表 | 字符串 | |
50 | Pow(x, n) | 50.Pow(x, n) | 中等 | 数学 | 二分查找 | |
51 | N-Queens | 51.N皇后 | 困难 | 回溯法 | ||
52 | N-Queens II | 52.N 皇后2 | 困难 | 回溯法 | ||
53 | 53. Maximum Subarray | 53.最大子数组和 | 中等 | 动态规划 | ||
54 | Spiral Matrix | 54.螺旋矩阵 | 中等 | 数组 | ||
56 | Merge Intervals | 56.合并区间 | 中等 | 排序 | 数组 | |
57 | Insert Interval | 57.插入区间 | 困难 | 排序 | 数组 | |
58 | Length of Last Word | 58.最后一个单词的长度 | 简单 | 字符串 | ||
59 | Spiral Matrix II | 59.螺旋矩阵 II | 中等 | 数组 | ||
60 | Permutation Sequence | 60.第k个排列 | 中等 | 数学 | 回溯算法 | |
61 | Rotate List | 61.旋转链表 | 中等 | 链表 | 双指针 | |
62 | Unique Paths | 62.不同路径 | 中等 | 数组 | 动态规划 | |
63 | Unique Paths II | 63.不同路径 II | 中等 | 数组 | 动态规划 | |
64 | Minimum Path Sum | 64.最小路径和 | 中等 | 数组 | 动态规划 | |
65 | Valid Number | 65.有效数字 | 困难 | 数学 | 字符串 | |
66 | Plus One | 66.加一 | 简单 | 数组 | 数学 | |
67 | Add Binary | 67.二进制求和 | 中等 | 数学 | 字符串 | |
68 | Text Justification | 68.文本左右对齐 | 困难 | 字符串 | ||
69 | Sqrt(x) | 69. x 的平方根 | 简单 | 数学 | 二分法 | |
70 | Climbing Stairs | 70.爬楼梯 | 简单 | 动态规划 | ||
72 | Edit Distance | 72.编辑距离 | 困难 | 字符串 | 动态规划 | |
73 | Set Matrix Zeroes | 73.矩阵置零 | 中等 | 数组 | ||
75 | Sort Colors | 75.荷兰旗问题 | 中等 | 排序 | 数组 | 双指针 |
76 | Minimum Window Substring | 76.最小覆盖子串 | 困难 | hash | 滑动窗口 | 双指针 |
84 | Largest Rectangle in Histogram | 84.柱状图中最大的矩形 | 困难 | 数组 | 栈 | |
87 | Scramble String | 87.扰乱字符串 | 困难 | 字符串 | 动态规划 | |
93 | Restore IP Addresses | 93.复原IP地址 | 中等 | 字符串 | 回溯法 | |
97 | Interleaving String | 97.交错字符串 | 困难 | 动态规划 | 字符串 | |
115 | Distinct Subsequences | 115.不同的子序列 | 困难 | 字符串 | 动态规划 | |
121 | Best Time to Buy and Sell Stock | 121.买卖股票的最佳时机 | 简单 | 数组 | 动态规划 | |
122 | Best Time to Buy and Sell Stock II | 122.买卖股票的最佳时机II | 简单 | 贪心算法 | 数组 | |
123 | Best Time to Buy and Sell Stock III | 123.买卖股票的最佳时机III | 困难 | 数组 | 动态规划 | |
128 | 128. Longest Consecutive Sequence | 128.最长连续序列 | 困难 | 数组 | 并查集 | |
135 | 135. Candy | 135.分发糖果 | 困难 | 数组 | 贪心 | |
138 | 138. 复制带随机指针的链表 | 138. 复制带随机指针的链表 | 中等 | 链表 | 递归 | |
139 | Word Break | 139.单词拆分 | 中等 | 动态规划 | ||
143 | Reorder List | 143.重排链表 | 中等 | 链表 | ||
152 | Maximum Product Subarray | 152.乘积最大子序列 | 中等 | 数组 | 动态规划 | |
162 | Find Peak Element | 162.寻找峰值 | 中等 | 数组 | 二分查找 | |
167 | Two Sum II - Input array is sorted | 167.两数之和 II - 输入有序数组 | 简单 | 数组 | 双指针 | 二分查找 |
168 | Excel Sheet Column Title | 168.Excel表列名称 | 简单 | 数学 | ||
174 | Dungeon Game | 174.地下城游戏 | 困难 | 二分查找 | 动态规划 | |
179 | Largest Number | 179.最大数–特殊排序 | 中等 | 排序 | ||
188 | Best Time to Buy and Sell Stock IV | 188.买卖股票的最佳时机 IV | 困难 | 动态规划 | ||
189 | Rotate Array | 189.旋转数组 | 简单 | 数组 | ||
191 | 整数对应二进制中1的个数 | 191.位1的个数 | 简单 | 位运算 | ||
198 | House Robber | 198.打家劫舍 | 简单 | 动态规划 | ||
206 | Reverse Linked List | 206.反转链表 | 简单 | 链表 | ||
207 | Course Schedule | 207.课程表 | 中等 | 深度/广度优先搜索 | 图 | 拓扑排序 |
210 | Course Schedule II | 210.课程表 II(拓扑排序) | 中等 | 深度/广度优先搜索 | 图 | 拓扑排序 |
215 | Kth Largest Element in an Array | 215.数组中的第K个最大元素 - Python栈总结 | 中等 | 堆 | 分治算法 | |
215 | 数组topK问题 | 215. 数组中的第K个最大元素 | 中等 | 堆 | 分治算法 | |
236 | Lowest Common Ancestor of a Binary Tree | 236.二叉树的最近公共祖先 | 中等 | 树 | ||
240 | Search a 2D Matrix II | 240.搜索二维矩阵 II | 中等 | 二分查找 | 分治算法 | |
242 | Valid Anagram | 242.有效的字母异位词 | 简单 | 排序 | hash表 | |
257 | Binary Tree Paths | 257.二叉树的所有路径 | 简单 | 递归 | 深度优先 | |
261 | 261. 以图判树 | 261. 以图判树 | 中等 | 图 | 树 | 并查集 |
263 | Ugly Number | 263.丑数 | 简单 | 数学 | ||
264 | Ugly Number II | 264.丑数 II | 堆 | 数学 | 动态规划 | |
292 | Nim Game | 292.Nim 游戏 | 简单 | 脑筋急转弯 | ||
312 | Burst Balloons | 312.戳气球 | 困难 | 分治算法 | 动态规划 | |
319 | Bulb Switcher | 319.灯泡开关 | 中等 | 脑筋急转弯 | 数学 | |
322 | Coin Change | 322.零钱兑换 - 组合数总结 | 中等 | 动态规划 | ||
328 | Odd Even Linked List | 328.奇偶链表 | 中等 | 链表 | ||
343 | Integer Break | 343.整数拆分 | 中等 | 数学 | 动态规划 | |
347 | 347. 前 K 个高频元素 | 347. 前 K 个高频元素 | 中等 | 排序 | 哈希 | |
365 | Water and Jug Problem | 365.水壶问题 | 中等 | 数学 | ||
393 | UTF-8 Validation | 393.UTF-8 编码验证 | 中等 | 位运算 | ||
394 | decode-string | 394.字符串解码 | 中等 | 栈 | ||
407 | Trapping Rain Water II | 407.接雨水 II | 困难 | 堆 | 广度优先搜索 | |
410 | Split Array Largest Sum | 410.分割数组的最大值 | 困难 | 二分查找 | 动态规划 | |
416 | Partition Equal Subset Sum | 416.分割等和子集 | 中等 | 动态规划 | ||
473 | Matchsticks to Square | 473.火柴拼正方形 | 中等 | 深度优先搜索 | ||
offer 40 | 数组topK问题 | 剑指 Offer 40. 最小的k个数 | 中等 | 快速排序 | ||
面17.14 | 数组topK问题 | 面试题 17.14. 最小K个数 | 中等 | 快速排序 |
2、其他算法题
题目 | 来源 | 标签1 | 标签2 | 标签3 |
---|---|---|---|---|
Hulu杀 | 笔试题(Hulu) | 约瑟夫环问题 | ||
贷款违约K笔的概率 | 笔试题(头条) | 动态规划 | 概率 | |
求一个正数的开方根 | 笔试题(头条) | 二分法 | 数学 | |
LeetCode: 347. 前 K 个高频元素 | 笔试题(晓链科技) | 排序 | 堆 | |
LeetCode: 394. 字符串解码 | 笔试题(晓链科技) | 栈 | ||
快速排序非递归版 | 高频面试 | 排序 | 栈 | |
判断图是否有环 | 考研题目 | 图 | 深度优先搜索 | |
翻转硬币 | 依图笔试题 | 数组 | ||
LeetCode: 138. 复制带随机指针的链表 | 《剑指offer》- 小米现场面试 | 链表 | ||
汉诺塔问题 | 百度现场面试 | 递归 | ||
拼凑面额 | 58到家 | 动态规划 | ||
不重叠线段 | 爱奇艺 | 排序 | 贪心算法 | |
抖音红人 | 头条笔试 | 图,队列 | ||
数字游戏问题 | 同学出题 | 动态规划 | ||
最短前缀问题 | fuyuandao面试题目 | 数组 | ||
卡牌游戏问题 | 今日头条内推题目 | dp | ||
边为M的最短路径问题 | 阿里19测验题 | dfs | ||
文章病句标识<----> 56.合并区间 | 今日头条内推题目 | 排序 | ||
世界杯开幕式 | 今日头条内推题目 | 广度优先搜索 | ||
数列最高得分 | 三星实习生转正测试 | 区间动态规划 | ||
Old Magician | CodeJam | 异或运算的应用 | ||
高效全组合算法实现 | 面试题 | 位运算 | ||
爬山 | 百度2018笔试题 | 回溯法 | bfs | |
作业分配问题 | 练习题 | 回溯法 | bfs | |
星球大战 | 阿里测验题 | 动态规划 | ||
郊游路线 | 阿里2018笔试 | 深度优先搜索 | ||
八卦阵 | 阿里2018笔试 | 广度优先搜索 | ||
打靶问题 | 阿里18测验题 | 动态规划 | ||
牛牛下象棋 | 京东2019春招笔试 | 深度优先搜索 | ||
硬币兑换问题 | 练习题 | 回溯法 | ||
石子合并问题(直线版) | 练习题 | 区间dp | ||
简单分词 | 面试题 | 栈 | ||
删数问题 | 练习题 | 贪心算法 | ||
填字游戏 | 练习题 | 回溯法 | ||
查找最近数问题 | 算法面试题 | 二分查找 | ||
Bytedance AI Camp 编程题1 | 2018 Bytedance AI Camp | 深度优先搜索 | ||
最小绝对值问题 | 面试题 | 桶排序 | ||
一个数的所有因子 | 京东面试题 | 碾转相除法 | ||
Python 嵌套列表展开 | 面试题 | 递归 | ||
根据字典value的比例返回key | 面试题 | 几何概率 | ||
逛公园 | 牛客网 | 广度优先搜索 | ||
螺丝与螺母匹配 | 练习题 | 二分查找 |