嗯,也就没事刷会力扣~
全部收集到我的 LeetCode
同名专栏,部分经典问题会针对性收集到 算法与数据结构基础 子专栏。
查找题目建议 Ctrl+F
若链接有误,希望能够私信博主~~我会及时修改,十分感谢各位同学的帮助!!!
题目 | 分类 | 注意 | 疑问及复看 |
---|---|---|---|
E1. 两数之和 | 哈希+双指针+二分 | ||
M2. 两数相加 | 模拟 | ||
M3. 无重复字符的最长子串 | 双指针 | 经典 | |
H4. 寻找两个正序数组的中位数 | 递归+分治 | 思维 | 难题+很抽象+优化更难 |
M5. 最长回文子串 | 中心拓展 | 优秀做法没看+马拉车 | |
M6. Z 字形变换 | 找规律 | 小学数奥+等差数列 | |
E7. 整数反转 | 数学+溢出判断 | 经典 | |
M8. 字符串转换整数 (atoi) | 数学+溢出判断+溢出特判 | 经典 | |
E9. 回文数 | 数学+折半判断 | 整数逆置+边界情况 | 折半判断的各种边界情况 |
H10. 正则表达式匹配 | dp+完全背包优化 | 超经典+算法优化 | 完全背包优化 |
M11. 盛最多水的容器 | 双指针+贪心 | 思维 | 思维+脑筋急转弯 |
M12. 整数转罗马数字 | 找规律+模拟 | 思维+脑筋急转弯 | |
E13. 罗马数字转整数 | 找规律+模拟 | 经典 | 思维+脑筋急转弯 |
E14. 最长公共前缀 | 枚举 | 经典 | |
M15. 三数之和 | 双指针+去重处理 | 超经典 | 经典+去重处理 |
M16. 最接近的三数之和 | 双指针 | 细节处理 | |
M17. 电话号码的字母组合 | dfs | 经典 | |
M18. 四数之和 | 双指针 | 经典+去重处理 | |
M19. 删除链表的倒数第N个节点 | 链表 | 超经典 | |
E20. 有效的括号 | 栈+技巧 | 超经典 | |
E21. 合并两个有序链表 | 链表+二路归并 | 经典 | |
M22. 括号生成 | dfs | 经典 dfs+括号序列问题 | 重要+括号序列问题 |
H23. 合并K个升序链表 | 堆优化+k 路归并 | 超经典 | |
M24. 两两交换链表中的节点 | 链表反转 | ||
H25. K 个一组翻转链表 | 链表反转+细节处理 | 超经典 | |
E26. 删除排序数组中的重复项 | 双指针 | 超经典 | 库函数 |
E27. 移除元素 | 双指针 | 超经典 | |
E28. 实现 strStr() | kmp | 库函数 | |
M29. 两数相除 | 倍增+二进制思想 | 超经典 | |
H30. 串联所有单词的子串 | 滑动窗口+哈希+思维 | 思维+算法优化 | |
M31. 下一个排列 | 模拟 | 思维 | |
H32. 最长有效括号 | 栈+思维+算法优化 | 思维 | 难题 |
M33. 搜索旋转排序数组 | 二分 | 超经典 | |
M34. 在排序数组中查找元素的第一个和最后一个位置 | 二分 | 超经典 | |
E35. 搜索插入位置 | 二分+模板 | 超经典 | 详细分析 |
M36. 有效的数独 | 模拟 | ||
H37. 解数独 | dfs | 下标映射 | 超经典 |
E38. 外观数列 | 模拟+双指针 | 经典 | |
M39. 组合总和 | dfs+完全背包 | 经典 | |
M40. 组合总和 II | dfs+多重背包 | 经典 | |
H41. 缺失的第一个正数 | 哈希+抽屉原理 | 思维+算法优化 | |
H42. 接雨水 | 单调栈 | 思维 | 超经典+难题 |
M43. 字符串相乘 | 模拟+高精乘 | 经典 | |
H44. 通配符匹配 | 完全背包优化+dp | 超经典 | |
H45. 跳跃游戏 II | dp+贪心 | 思维 | 难题 |
M46. 全排列 | dfs+模板 | 超经典 | |
M47. 全排列 II | dfs+字典序+去重判断 | 模板+超经典 | |
M48. 旋转图像 | 模拟 | 脑筋急转弯+思维 | |
M49. 字母异位词分组 | 排序+哈希 | ||
M50. Pow(x, n) | 倍增+快速幂 | 模板+经典 | |
H51. N 皇后 | dfs | 经典 | |
H52. N皇后 II | dfs方案数 | 经典 | |
E53. 最大子序和 | dp+分治+代码优化 | 经典 | |
M54. 螺旋矩阵 | bfs+经典 | ||
M55. 跳跃游戏 | 贪心+经典 | ||
M56. 合并区间 | 区间问题 | 贪心 | |
H57. 插入区间 | 区间问题 | ||
E58. 最后一个单词的长度 | 双指针 | ||
M59. 螺旋矩阵 II | bfs | ||
H60. 排列序列 | 计数dp | 经典 | |
M61. 旋转链表 | 链表 | 经典 | |
M62. 不同路径 | dp+组合 | 经典 | |
M63. 不同路径 II | dp+组合 | 经典 | |
M64. 最小路径和 | dp | 经典 | |
H65. 有效数字 | 困难模拟+繁琐+边界情况 | ||
E66. 加一 | 高精度+模板 | ||
E67. 二进制求和 | 高精度 | ||
H68. 文本左右对齐 | 困难模拟 | 经典 | |
E69. x 的平方根 | 二分模板+边界问题 | 超经典 | 好题 |
E70. 爬楼梯 | dp | 超经典 | |
M71. 简化路径 | 模拟+栈 | 经典 | |
H72. 编辑距离 | 线性dp+模板 | 超经典 | |
M73. 矩阵置零 | 模拟+思维 | ||
M74. 搜索二维矩阵 | 二分+双指针 | 超经典 | |
M75. 颜色分类 | 双指针+三指针 | 经典 | |
H76. 最小覆盖子串 | 双指针+哈希+三指针 | 经典 | 好题 |
M77. 组合 | dfs+模板 | 经典 | |
M78. 子集 | dfs+模板 | 经典 | |
M79. 单词搜索 | 双指针+模板 | 经典 | |
M80. 删除排序数组中的重复项 II | 双指针+模板 | 经典 | |
M94. 二叉树的中序遍历 | 二叉树 | 经典 | |
M102. 二叉树的层序遍历 | 二叉树 | 经典 | |
E121. 买卖股票的最佳时机 | dp | ||
E122. 买卖股票的最佳时机 II | dp | 思维 | |
H123. 买卖股票的最佳时机 III | dp | 前后缀分解 | |
H126. 单词接龙 II | 图论建图+bfs最短路 | 图论难题 | |
M127. 单词接龙 | 图论建图+bfs最短路 | 图论难题 | |
M129. 求根到叶子节点数字之和 | 二叉树+dfs | ||
M134. 加油站 | 贪心 | ||
M143. 重排链表 | 链表反转+链表 | ||
M144. 二叉树的前序遍历 | 二叉树 | 经典 | |
M145. 二叉树的后序遍历 | 二叉树 | 经典 | |
M147. 对链表进行插入排序 | 排序+链表 | 经典 | |
E160. 相交链表 | 链表 | 经典 | |
E203. 移除链表元素 | 链表 | 好题 | |
H188. 买卖股票的最佳时机 IV | dp | 状态机模型+线性dp | 疑问 |
E206. 反转链表 | 链表反转 | ||
E231. 2 的幂 | 位运算+lowbit操作 | ||
M222. 完全二叉树的节点个数 | 二叉树+二分查找 | ||
E234. 回文链表 | 链表反转+边界问题 | 经典变种 | |
E242. 有效的字母异位词 | 排序+哈希表 | ||
E283. 移动零 | 双指针 | 思维 | |
E300. 最长递增子序列 | LIS+LIS贪心优化 | 好题 | |
M322. 零钱兑换 | dp基础+完全背包 | 知识理解 | |
M328. 奇偶链表 | 模拟+链表 | ||
E342. 4的幂 | 位运算+数学 | 思维 | |
H363. 矩形区域不超过 K 的最大数值和 | 二维前缀和+算法优化 | 经典 | |
M380. 常数时间插入、删除和获取随机元素 | 哈希表 | 设计+思维 | |
H381. O(1) 时间插入、删除和获取随机元素 - 允许重复 | 哈希表 | 设计+思维 | |
M402. 移掉K位数字 | 贪心+单调栈 | ||
H403. 青蛙过河 | 记忆化搜索+bfs最短路 | ||
M406. 根据身高重建队列 | 贪心 | ||
M421. 数组中两个数的最大异或值 | trie+算法对比 | 好题 | |
M452. 用最少数量的箭引爆气球 | 贪心+区间问题 | ||
E461. 汉明距离 | 位运算 | ||
E463. 岛屿的周长 | 模拟+暴力 | ||
M474. 一和零 | 二维费用背包+dp | 好题 | |
M477. 汉明距离总和 | 位运算 | 思维 | |
E493. 翻转对 | 归并排序+逆序对 | 疑问 | |
M494. 目标和 | 暴力dfs+01背包+dp | ||
H514. 自由之路 | 线性dp | 经典变种 | |
M518. 零钱兑换 II | 完全背包+dp | ||
M523. 连续的子数组和 | 前缀和+数学 | 取模性质+好题 | |
M525. 连续数组 | 前缀和 | 知识理解+思维 | |
H664. 奇怪的打印机 | 区间dp | 疑问+难题+好题 | |
M740. 删除并获得点数 | dp基础 | 有限制选择问题 | |
M763. 划分字母区间 | 贪心+双指针 | ||
M781. 森林中的兔子 | 找规律+哈希表+数学 | ||
H810. 黑板异或游戏 | 数学+博弈论 | 难题+思维 | |
E844. 比较含退格的字符串 | 栈+双指针 | ||
E872. 叶子相似的树 | dfs | ||
M845. 数组中的最长山脉 | 双指针 | 思维+经典 | |
M875. 爱吃香蕉的珂珂 | 二分答案 | ||
H879. 盈利计划 | 二维费用背包+难题 | ||
E922. 按奇偶排序数组 II | 双指针 | ||
E925. 长按键入 | 双指针 | ||
E941. 有效的山脉数组 | 双指针 | ||
E976. 三角形的最大周长 | 排序+数学 | 贪心 | |
E993. 二叉树的堂兄弟节点 | dfs+bfs | 好题 | |
M1011. 在 D 天内送达包裹的 | 二分答案 | ||
M1024. 视频拼接 | 贪心+区间覆盖 | 区间问题+经典 | |
E1030. 距离顺序排列矩阵单元格 | 排序+计算几何 | 思维 | |
M1035. 不相交的线 | dp+LCS | 好题 | |
M1049. 最后一块石头的重量 II | 01背包+dp | 知识理解+好题 | NP完全 |
H1074. 元素和为目标值的子矩阵数量 | 二维前缀和+哈希优化 | 经典+好题 | |
M1190. 反转每对括号间的子串 | 栈+模拟 | 好题 | |
M1310. 子数组异或查询 | 前缀和 | ||
H1269. 停在原地的方案数 | 线性dp+dp优化 | ||
E1356. 根据数字二进制下 1 的数目排序 | 暴力+位运算 | ||
E1370. 上升下降字符串 | 哈希表 | ||
E1442. 形成两个异或相等数组的三元组数目 | 位运算 | 算法优化+好题 | |
H1473. 粉刷房子 III | dp基础+好题 | 状态定义+状态转移 | |
M1482. 制作 m 束花所需的最少天数 | 二分答案 | ||
H1707. 与数组中元素的最大异或值 | trie+离线处理 | 好题 | |
E1710. 卡车上的最大单元数 | 贪心 | ||
M1711. 大餐计数 | 哈希+二分 | ||
M1712. 将数组分成三个子数组的方案数 | 双指针+前缀和 | ||
H1713. 得到子序列的最少操作次数 | LIS+LCS优化 | ||
E1716. 计算力扣银行的钱 | 模拟+找规律 | ||
M1717. 删除子字符串的最大得分 | 贪心+双指针 | ||
M1718. 构建字典序最大的可行序列 | dfs | ||
H1719. 重构一棵树的方案数 | 困难+图 | ||
E1720. 解码异或后的数组 | 模拟+数学+异或 | ||
M1721. 交换链表中的节点 | 链表+模拟 | ||
M1722. 执行交换操作后的最小汉明距离 | 并查集+哈希 | ||
H1723. 完成所有工作的最短时间 | dfs+状压dp | ||
E1725. 可以形成最大正方形的矩形数目 | 模拟 | ||
M1726. 同积元组 | 哈希表+计数 | ||
M1727. 重新排列后的最大子矩阵 | 排序+单调栈 | ||
H1728. 猫和老鼠 II | 博弈论+记忆化搜索 | ||
M1734. 解码异或后的排列 | 位运算+异或 | 思维 | |
M1738. 找出第 K 大的异或坐标值 | 位运算+异或前缀和 | 好题 | |
M1738. 找出第 K 大的异或坐标值 | 位运算+异或前缀和 | 好题 | |
M1744. 你能在你最喜欢的那天吃到你最喜欢的糖果吗? | 前缀和 | 阅读理解+好题 | 边界问题 |
M1822. 数组元素积的符号 | 贪心+水题 | ||
E1823. 找出游戏的获胜者 | 模拟+约瑟夫环 | ||
M1824. 最少侧跳次数 | 线性dp+分层图最短路 | ||
H1825. 求出 MK 平均值 | 困难模拟+multiset平衡树 | ||
E1827. 最少操作使数组递增 | 贪心 | ||
M1828. 统计一个圆中点的数目 | 模拟+水题 | ||
M1829. 每个查询的最大异或值 | 思维+异或+位运算 | ||
H1830. 使字符串有序的最少操作次数 | 困难模拟+下一个排列 | ||
E1844. 将所有数字用字符替换 | 模拟 | ||
M1845. 座位预约管理系统 | 模拟 | ||
M1846. 减小和重新排列数组后的最大元素 | 贪心 | ||
H1847. 最近的房间 | 二分+双指针+平衡树 | ||
E1848. 到目标元素的最小距离 | 模拟 | ||
M1849. 将字符串拆分为递减的连续值 | dfs+二进制枚举 | ||
M1850. 邻位交换的最小次数 | 模拟+逆序对 | ||
H1851. 包含每个查询的最小区间 | 并查集+离散化 | 好题 | |
E1886. 判断矩阵经轮转后是否一致 | 模拟 | ||
M1887. 使数组元素相等的减少操作次数 | 贪心 | 思维 | |
M1888. 使二进制字符串字符交替的最少反转次数 | 贪心+前后缀分解 | ||
H1889. 装包裹的最小浪费空间 | 二分 | 思维+好题 | |
ELCP29. 乐团站位 | 找规律+数学 | ||
ELCP33. 蓄水 | 贪心+模拟 |