【Leetcode】总集篇

前言

就正如【剑指offer】总集 所说,剑指offer和LeetCode的题目,往往是考验我们对其中的算法和数据结构的理解。本篇总结了Leetcode题目中面试考察率比较高的100道题目解答。

其中不乏有些题目和剑指offer是一样的,如果是,我在题目中会说明的。

刷题建议:第一次刷:5分钟想不出来解法,直接看答案。
                  二刷或以上:不能秒想出来任意一个解法,直接看答案;5分钟想不出最优解,直接看答案。
注:即使想到用什么解法,但是不知道怎么实现,其实相当于不会。



题目索引

我的索引结构是:

数据结构1:
|____ 任务目标 -  题目1
|____ 任务目标 -  题目2
|____ ......
|____ 特殊算法:
|____ |____ 任务目标 -  题目n
|____ |____ 任务目标 -  题目n+1
|____ |____ ......
数据结构2:
|____ 任务目标 -  题目1
|____ 任务目标 -  题目2
|____ ......
|____ 特殊算法:
|____ |____ 任务目标 -  题目n
|____ |____ 任务目标 -  题目n+1
|____ |____ ......
......



============ 数 ============

增 - 【Leetcode】470. 用 Rand7() 实现 Rand10()

查 - 【Leetcode】440. 字典序的第K小数字

分治法 :

位运算 :

贪心算法 :

动态规划 :

        查 - 【Leetcode】279. 完全平方数

二分查找:

        查 - 【Leetcode】69. x 的平方根



============ 数组 ============

查 - 【Leetcode】1. 两数之和

改 - 【Leetcode】31. 下一个排列

改 - 【Leetcode】48. 旋转图像

改 - 【Leetcode】56. 合并区间

查 - 【Leetcode】128. 最长连续序列

查 - 【Leetcode】169. 多数元素

查 - 【Leetcode】215. 数组中的第K个最大元素

增 - 【Leetcode】238. 除自身以外数组的乘积

查 - 【Leetcode】239. 滑动窗口最大值

查 - 【Leetcode】240. 搜索二维矩阵 II

查 - 【Leetcode】54. 螺旋矩阵

查 - 【Leetcode】59. 螺旋矩阵 II

查 - 【Leetcode】560. 和为K的子数组

查 - 【Leetcode】189. 旋转数组

查 - 【Leetcode】442. 数组中重复的数据

动态规划 :

        查 - 【Leetcode】53. 最大子序和

        查 - 【Leetcode】62. 不同路径

        查 - 【Leetcode】64. 最小路径和

        查 - 【Leetcode】70. 爬楼梯

        查 - 【Leetcode】72. 编辑距离

        查 - 【Leetcode】152. 乘积最大子数组

        查 - 【Leetcode】198. 打家劫舍

        查 - 【Leetcode】213. 打家劫舍 II

        查 - 【Leetcode】221. 最大正方形

        查 - 【Leetcode】300. 最长递增子序列

        查 - 【Leetcode】322. 零钱兑换

        查 - 【Leetcode】718. 最长重复子数组

        查 - 【Leetcode】518. 零钱兑换 II

二分查找:

        查 - 【Leetcode】4. 寻找两个正序数组的中位数

        查 - 【Leetcode】33. 搜索旋转排序数组

        查 - 【Leetcode】34. 在排序数组中查找元素的第一个和最后一个位置

        查 - 【Leetcode】162. 寻找峰值

        查 - 【Leetcode】300. 最长递增子序列

        查 - 【Leetcode】704. 二分查找

        查 - 【Leetcode】153. 寻找旋转排序数组中的最小值

        查 - 【Leetcode】154. 寻找旋转排序数组中的最小值 II

        查 - 【Leetcode】74. 搜索二维矩阵

回溯搜索/DFS/BFS:

        查 - 【Leetcode】39. 组合总和

        查 - 【Leetcode】40. 组合总和 II

        查 - 【Leetcode】46. 全排列

        查 - 【Leetcode】78. 子集

        查 - 【Leetcode】200. 岛屿数量

        查 - 【Leetcode】695. 岛屿的最大面积

        查 - 【Leetcode】329. 矩阵中的最长递增路径

排序:

        查 - 【Leetcode】41. 缺失的第一个正数

位运算 :

        查 - 【Leetcode】136. 只出现一次的数字

双指针:

        查 - 【Leetcode】11. 盛最多水的容器

        查 - 【Leetcode】15. 三数之和

        查 - 【Leetcode】42. 接雨水

        改 - 【Leetcode】75. 颜色分类

        改 - 【Leetcode】283. 移动零

        查 - 【Leetcode】287. 寻找重复数

        改 - 【Leetcode】88. 合并两个有序数组

        查 - 【Leetcode】209. 长度最小的子数组

贪心算法 :

        查 - 【Leetcode】55. 跳跃游戏

        查 - 【Leetcode】121. 买卖股票的最佳时机

        查 - 【Leetcode】122. 买卖股票的最佳时机 II

        查 - 【Leetcode】135. 分发糖果

单调栈法:

        查 - 【Leetcode】84. 柱状图中最大的矩形

        查 - 【Leetcode】85. 最大矩形

        查 - 【Leetcode】221. 最大正方形

        查 - 【Leetcode】739. 每日温度



============ 字符串 ============

查 - 【Leetcode】5. 最长回文子串

查 - 【Leetcode】20. 有效的括号

查 - 【Leetcode】32. 最长有效括号

查 - 【Leetcode】49. 字母异位词分组

查 - 【Leetcode】76. 最小覆盖子串

增 - 【Leetcode】297. 二叉树的序列化与反序列化

改 - 【Leetcode】8. 字符串转换整数 (atoi)

改 - 【Leetcode】394. 字符串解码

改 - 【Leetcode】151. 翻转字符串里的单词

改 - 【Leetcode】179. 最大数

查 - 【Leetcode】14. 最长公共前缀

查 - 【Leetcode】43. 字符串相乘

改 - 【Leetcode】1047. 删除字符串中的所有相邻重复项

查 - 【Leetcode】125. 验证回文串

改 - 【Leetcode】443. 压缩字符串

动态规划 :

        查 - 【Leetcode】10. 正则表达式匹配

        查 - 【Leetcode】139. 单词拆分

        查 - 【Leetcode】1143. 最长公共子序列

回溯搜索 :

        查 - 【Leetcode】17. 电话号码的字母组合

        增 - 【Leetcode】22. 括号生成

        查 - 【Leetcode】79. 单词搜索

        查 - 【Leetcode】93. 复原 IP 地址

双指针:

        查 - 【Leetcode】3. 无重复字符的最长子串

        查 - 【Leetcode】165. 比较版本号

        查 - 【Leetcode】415. 字符串相加

贪心算法:

        查 - 【Leetcode】678. 有效的括号字符串



============ 链表 ============

增 - 【Leetcode】2. 两数相加

改 - 【Leetcode】21. 合并两个有序链表

改 - 【Leetcode】23. 合并K个升序链表

改 - 【Leetcode】445. 两数相加 II

双指针:

        删 - 【Leetcode】19. 删除链表的倒数第 N 个结点

        查 - 【Leetcode】141. 环形链表

        查 - 【Leetcode】142. 环形链表 II

        查 - 【Leetcode】876. 链表的中间结点

        改 - 【Leetcode】148. 排序链表

        查 - 【Leetcode】160. 相交链表

        改 - 【Leetcode】206. 反转链表

        查 - 【Leetcode】234. 回文链表

        改 - 【Leetcode】92. 反转链表 II

        改 - 【Leetcode】25. K 个一组翻转链表

        改 - 【Leetcode】328. 奇偶链表

        改 - 【Leetcode】143. 重排链表

        删 - 【Leetcode】83. 删除排序链表中的重复元素

        删 - 【Leetcode】82. 删除排序链表中的重复元素 II

        删 - 【Leetcode】24. 两两交换链表中的节点

        改 - 【Leetcode】61. 旋转链表

        改 - 【Leetcode】86. 分隔链表



============ 树 ============

查 - 【Leetcode】44. 二叉树的前序遍历

查 - 【Leetcode】94. 二叉树的中序遍历

查 - 【Leetcode】145. 二叉树的后序遍历

查 - 【Leetcode】101. 对称二叉树

查 - 【Leetcode】102. 二叉树的层序遍历

查 - 【Leetcode】104. 二叉树的最大深度

增 - 【Leetcode】105. 从前序与中序遍历序列构造二叉树

改 - 【Leetcode】114. 二叉树展开为链表

查 - 【Leetcode】124. 二叉树中的最大路径和

改 - 【Leetcode】226. 翻转二叉树

查 - 【Leetcode】236. 二叉树的最近公共祖先

查 - 【Leetcode】103. 二叉树的锯齿形层序遍历

查 - 【Leetcode】199. 二叉树的右视图

查 - 【Leetcode】112. 路径总和

查 - 【Leetcode】113. 路径总和 II

查 - 【Leetcode】129. 求根节点到叶节点数字之和

查 - 【Leetcode】543. 二叉树的直径

查 - 【Leetcode】662. 二叉树最大宽度

查 - 【Leetcode】863. 二叉树中所有距离为 K 的结点

查 - 【Leetcode】100. 相同的树

查 - 【Leetcode】572. 另一棵树的子树

查 - 【Leetcode】111. 二叉树的最小深度

查 - 【Leetcode】257. 二叉树的所有路径

查 - 【Leetcode】1302. 层数最深叶子节点的和

查 - 【Leetcode】107. 二叉树的层序遍历 II

二叉搜索树(BST):

        查 - 【Leetcode】98. 验证二叉搜索树

        查 - 【Leetcode】230. 二叉搜索树中第K小的元素

       动态规划:

        查 - 【Leetcode】96. 不同的二叉搜索树

二叉平衡树(AVL):

        查 - 【Leetcode】110. 平衡二叉树

        查 - 【Leetcode】958. 二叉树的完全性检验



============ 队列 栈 堆 ============

增 - 【Leetcode】155. 最小栈

增 - 【Leetcode】232. 用栈实现队列

增 - 【Leetcode】225. 用队列实现栈



============ 其他 ============

增 - 【Leetcode】146. LRU 缓存机制

查 - 【Leetcode】295. 数据流的中位数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

锥栗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值