/LeetCode

Modnar's LeetCode Tour

Primary LanguageC++Apache License 2.0Apache-2.0

LeetCode

        ModnarLeetCode刷题之旅。

标记 标记涵义 标记 标记涵义
初次尝试时思路出错 ⚠️ 警告!需要及时复习
🤔 感谢他人的题解思路、需要再回顾思考 ⭐️ 我认为的好题/好代码
自2020.03.01开始的打卡活动完成打卡 🐧 腾讯精选练习50题
👨‍💻 精选TOP面试题 🔥 热题HOT 100
🗡 剑指offer(第二版) 🚧 暂时未完成(TODO)

目录

基本题库

# 题目 题解 难度 标记 时间 备注
A0001 两数之和 cpp 简单 🤔, 🔥, 👨‍💻 20/02/20
A0002 两数相加 cpp 中等 🤔, 🐧, 🔥, 👨‍💻 20/02/20
A0003 无重复字符的最长子串 cpp 中等 🤔, 🔥, 👨‍💻, ✅ 20/02/20
A0004 寻找两个有序数组的中位数 cpp 困难 ⚠️, 🤔, 🐧, 🔥, 👨‍💻 20/02/25 切分法
A0005 最长回文子串 cpp 中等 🐧, 🔥, 👨‍💻, ✅ 20/02/23 整数除法取整
A0006 Z字形变换 cpp 中等 🤔 20/02/22
A0007 整数反转 cpp 简单 🐧, 👨‍💻 20/02/21
A0008 字符串转换整数 (atoi) cpp 中等 🐧, 👨‍💻 20/03/03 整数溢出判断
A0009 回文数 cpp 简单 🐧 20/02/21
A0010 正则表达式匹配 cpp 困难 🚧
A0011 盛最多水的容器 cpp 中等 🐧, 🔥, 👨‍💻, ✅ 20/02/23
A0012 整数转罗马数字 cpp 中等 20/02/23
A0013 罗马数字转整数 cpp 简单 👨‍💻 20/02/23
A0014 最长公共前缀 cpp 简单 🐧, 👨‍💻 20/02/23
A0015 三数之和 cpp 中等 ⚠️, 🤔, 🐧, 🔥, 👨‍💻 20/02/29
A0016 最接近的三数之和 cpp 中等 🐧, 🚧 20/02/29
A0017 电话号码的字母组合 cpp 中等 👨‍💻 20/03/04 回溯(TODO)
A0019 删除链表的倒数第N个节点 cpp 中等 👨‍💻 20/03/05 阅读题解(TODO)
A0020 有效的括号 cpp 简单 🐧, 🔥, 👨‍💻 20/02/21
A0021 合并两个有序链表 cpp 简单 🐧, 🔥, 👨‍💻, ✅ 20/02/21
A0022 括号生成 cpp 中等 ❌, ⚠️, 🤔, ✅ 20/04/09 回溯
A0023 合并K个排序链表 cpp 困难 🐧, 🔥, 👨‍💻, ✅ 20/02/21
A0024 两两交换链表中的节点 cpp 中等 20/03/07
A0025 K 个一组翻转链表 cpp 困难 🚧, ✅ 20/05/16
A0026 删除排序数组中的重复项 cpp 简单 🐧, 👨‍💻 20/02/22
A0027 移除元素 cpp 简单 20/03/01 双指针法
A0028 实现 strStr() cpp 简单 👨‍💻 字符串匹配
A0031 下一个排列 cpp 中等 🚧, ✅ 20/05/14 STL
A0033 搜索旋转排序数组 cpp 中等 🐧, 🔥, 👨‍💻, ✅ 20/03/01
A0034 在排序数组中查找元素的第一个和最后一个位置 cpp 中等 🤔, 👨‍💻 20/03/06 二分搜索改进
A0035 搜索插入位置 cpp 简单 20/03/29 二分搜索改进, STL
A0036 有效的数独 cpp 中等 🤔, 👨‍💻 20/03/09 数组下标计算
A0038 外观数列 cpp 简单 20/03/11 0ms
A0042 接雨水 cpp 困难 ⚠️, 🤔, ✅ 20/04/04 栈的应用
A0043 字符串相乘 cpp 中等 ⚠️, 🤔, 🐧 20/03/01
A0045 跳跃游戏 II cpp 困难 🤔, ⚠️, ✅ 20/05/04 贪心
A0046 全排列 cpp 中等 ⚠️, 🤔, 🐧, 🔥, 👨‍💻, ✅ 20/03/03 回溯算法, STL
A0047 全排列 II cpp 中等 🤔 20/03/03 回溯 & 剪枝
A0048 旋转图像 cpp 中等 👨‍💻 20/03/09 数组下标计算
A0049 字母异位词分组 cpp 中等 🤔 20/03/15 哈希散列表
A0050 Pow(x, n) cpp 中等 🤔, ⚠️, ✅ 20/05/11 快速幂
A0053 最大子序和 cpp 简单 🐧, 🔥, 👨‍💻, ✅ 20/02/26 贪心&分治
A0054 螺旋矩阵 cpp 中等 🐧, 👨‍💻 20/02/25
A0055 跳跃游戏 cpp 中等 ❌, 🤔, ⚠️, ✅ 20/04/18 贪心
A0058 最后一个单词的长度 cpp 简单 20/03/16
A0059 螺旋矩阵 II cpp 中等 🐧 20/02/29
A0061 旋转链表 cpp 中等 🐧 20/02/29
A0062 不同路径 cpp 中等 🐧, 🔥, 👨‍💻 20/02/29
A0069 x 的平方根 cpp 简单 🤔, 👨‍💻, ✅ 20/03/12
A0070 爬楼梯 cpp 简单 🐧, 🔥, 👨‍💻 20/02/22
A0072 编辑距离 cpp 困难 20/04/06 动态规划
A0073 矩阵置零 cpp 中等 ⚠️, 🤔, 👨‍💻 20/03/06
A0078 子集 cpp 中等 🐧, 🔥, 👨‍💻 20/02/26
A0082 删除排序链表中的重复元素 II cpp 中等 21/03/25
A0088 合并两个有序数组 cpp 简单 🐧, 👨‍💻 20/02/22
A0089 格雷编码 cpp 中等 🤔, 🐧 20/02/24 格雷编码
A0094 二叉树的中序遍历 cpp 中等 🤔, 👨‍💻 20/03/09 递归 & 迭代
A0098 验证二叉搜索树 cpp 中等 🤔, ✅ 20/03/26 递归 & 迭代
A0100 相同的树 cpp 简单 🤔, ⭐️ 20/03/26 层序遍历(两个队列), 深度优先搜索
A0102 二叉树的层序遍历 cpp 中等 20/05/13 层序遍历
A0104 二叉树的最大深度 cpp 简单 🐧, 🔥, 👨‍💻 20/03/10 递归 & 迭代
A0111 二叉树的最小深度 cpp 简单 20/02/23 递归
A0121 买卖股票的最佳时机 cpp 简单 ✅, 🐧, 🔥, 👨‍💻 20/02/25
A0122 买卖股票的最佳时机 II cpp 简单 🐧, 👨‍💻 20/02/25
A0124 二叉树中的最大路径和 cpp 困难 ⚠️, 🤔, 🐧, 🔥, 👨‍💻 20/03/01
A0125 验证回文串 cpp 简单 20/05/19 双指针
A0136 只出现一次的数字 cpp 简单 🐧, 🔥, 👨‍💻, ✅ 20/02/25 位异或运算
A0137 只出现一次的数字 II cpp 中等 🤔, ⭐️ 20/02/25 位运算
A0141 环形链表 cpp 简单 🐧, 🔥, 👨‍💻 20/02/25 快慢指针
A0142 环形链表 II cpp 中等 🤔, 🐧, 🔥 20/02/28 快慢指针
A0146 LRU缓存机制 cpp 中等 🤔, 🐧, 🔥, 🚧, 👨‍💻 20/02/28
A0148 排序链表 cpp 中等 🤔, 🐧, 🔥, 🚧, 👨‍💻 20/02/28
A0151 翻转字符串里的单词 cpp 中等 ✅, ⭐️ 20/04/10
A0152 乘积最大子数组 cpp 中等 🚧, ✅ 20/05/18
A0153 寻找旋转排序数组中的最小值 cpp 中等 ⚠️, 🤔, ⭐️ 20/03/14 二分
A0154 寻找旋转排序数组中的最小值 II cpp 困难 ⚠️, 🤔, ⭐️ 20/03/14 二分
A0155 最小栈 cpp 简单 🤔, 🐧, 🔥, 👨‍💻, ✅ 20/02/25 辅助栈
A0160 相交链表 cpp 简单 🐧, 🔥, 👨‍💻 20/02/25 双指针求双链表公共结点
A0167 两数之和 II - 输入有序数组 cpp 简单 20/02/20
A0169 多数元素 cpp 简单 🤔, 🐧, 🔥, 👨‍💻 20/02/25 Boyer-Moore投票法
A0191 位1的个数 cpp 简单 21/03/22
A0199 二叉树的右视图 cpp 中等 ⚠️, 🤔, 🚧 20/04/22
A0200 岛屿数量 cpp 中等 ❌, ⚠️, 🤔, ✅ 20/04/20 DFS/BFS/并查集
A0202 快乐数 cpp 简单 20/04/30 数学
A0206 反转链表 cpp 简单 ✅, 🐧, 🔥, 👨‍💻 20/02/25 C++迭代 递归&迭代
A0210 课程表 II cpp 中等 🚧, ✅ 20/05/17
A0215 数组中的第K个最大元素 cpp 中等 🤔, 🐧, 🔥, 🚧, 👨‍💻 20/02/27
A0217 存在重复元素 cpp 简单 🐧, 👨‍💻 20/02/23
A0221 最大正方形 cpp 中等 ⚠️, 🤔, ✅ 20/05/08 动态规划
A0225 用队列实现栈 cpp 简单 20/03/01 题解
A0229 求众数 II cpp 中等 🤔 20/02/23 Boyer-Moore投票法
A0230 二叉搜索树中第K小的元素 cpp 中等 🤔, 🐧, 👨‍💻 20/02/26 递归&迭代
A0231 2的幂 cpp 简单 🤔, 🐧 20/02/23 位运算
A0234 回文链表 cpp 简单 🤔, 🔥, 👨‍💻 20/02/21
A0235 二叉搜索树的最近公共祖先 cpp 简单 🤔, 🐧 20/02/25 递归&迭代
A0236 二叉树的最近公共祖先 cpp 中等 🤔, 🐧, 🔥, 🚧, 👨‍💻, ✅ 20/02/28 递归&迭代
A0237 删除链表中的节点 cpp 简单 ⭐️, 🐧, 👨‍💻 20/02/23
A0238 除自身以外数组的乘积 cpp 中等 🤔, 🐧, 🔥, 👨‍💻 20/02/26 乘积列表
A0260 只出现一次的数字 III cpp 中等 20/02/25 位运算
A0289 生命游戏 cpp 中等 🤔, ✅ 20/04/02 添加复合状态
A0292 Nim游戏 cpp 简单 20/02/23
A0300 最长上升子序列 cpp 中等 🤔, ✅ 20/03/13 动态规划、贪心+二分
A0303 区域和检索 - 数组不可变 cpp 简单 21/03/01
A0304 二维区域和检索 - 矩阵不可变 cpp 简单 21/03/02
A0319 灯泡开关 cpp 中等 🤔, ✅ 20/03/11 思维
A0322 零钱兑换 cpp 中等 ⚠️, 🤔, ✅ 20/03/08 动态规划
A0344 反转字符串 cpp 简单 🐧, 👨‍💻 20/02/23
A0365 水壶问题 cpp 中等 ⚠️, 🤔, ✅ 20/03/21
A0409 最长回文串 cpp 简单 20/03/19
A0460 LFU缓存 cpp 困难 ⚠️, 🤔, 🚧, ✅
A0466 统计重复个数 cpp 困难 🚧, ⚠️, 🤔, ✅ 20/04/19
A0540 有序数组中的单一元素 cpp 中等 20/03/06
A0543 二叉树的直径 cpp 简单 🤔, ✅ 20/03/10
A0557 反转字符串中的单词 III cpp 简单 🐧 20/02/23
A0560 和为K的数组 cpp 中等 🚧, ⚠️, 🤔, ✅ 20/05/15 前缀和
A0572 另一个树的子树 cpp 简单 ⚠️, 🤔, ✅ 20/05/07
A0680 验证回文字符串 Ⅱ cpp 简单 🤔, ✅ 20/05/19 贪心 & 双指针
A0695 岛屿的最大面积 cpp 中等 20/03/15 深度优先搜索
A0739 每日温度 cpp 中等 ✅, 🤔 20/06/11 暴力, 最小栈
A0766 托普利茨矩阵 cpp 简单 21/02/22 暴力
A0820 单词的压缩编码 cpp 简单 ⚠️, ❌, 🤔, ✅ 20/03/28 Trie树
A0832 翻转图像 cpp 简单 21/02/24
A0876 链表的中间结点 cpp 简单 20/03/23 快慢指针
A0887 鸡蛋掉落 cpp 困难 🚧, ⚠️, 🤔, ✅ 20/04/11
A0892 三维形体的表面积 cpp 简单 🤔, ⭐️, ✅ 20/03/25 题解
A0896 单调数列 cpp 简单 21/02/28
A0912 排序数组 cpp 中等 ⭐️, ✅ 20/03/31
A0914 卡牌分组 cpp 简单 20/03/27
A0945 使数组唯一的最小增量 cpp 中等 20/03/22
A0977 有序数组的平方 cpp 简单 20/02/22
A0983 最低票价 cpp 中等 ⚠️, 🚧, 🤔, ✅ 20/05/06 动态规划
A0994 腐烂的橘子 cpp 简单 ⚠️, 🤔, ✅ 20/03/04 BFS, 官方题解
A0999 车的可用捕获量 cpp 简单 20/03/26
A1013 将数组分成和相等的三个部分 cpp 简单 🤔, ✅ 20/03/11
A1071 字符串的最大公因子 cpp 简单 🤔, ✅ 20/03/12 GCD
A1095 山脉数组中查找目标值 cpp 困难 🚧, ⚠️, 🤔, ✅ 20/04/29
A1103 分糖果 II cpp 简单 20/03/05
A1111 有效括号的嵌套深度 cpp 中等 20/04/01 模拟栈
A1160 拼写单词 cpp 简单 20/03/17
A1162 地图分析 cpp 中等 20/03/29 多源BFS
A1248 统计「优美子数组」 cpp 中等 ❌, 🤔, ⚠️, ✅ 20/04/21
A1371 每个元音包含偶数次的最长子字符串 cpp 中等 🚧, ✅ 20/05/20

面试

# 题目 题解 难度 标记 时间 笔记
B0003 数组中重复的数字 cpp 简单 🗡 20/03/10
B0004 二维数组中的查找 cpp 简单 🤔, ⭐️, 🗡 20/03/10
B0005 替换空格 cpp 简单 🤔 20/03/10 string.replace
B0006 从尾到头打印链表 cpp 简单 ⭐️, 🗡 20/03/13 多方法求解
B0007 重建二叉树 cpp 中等 🚧, 🗡 二叉树
B0009 用两个栈实现队列 cpp 简单 🗡 20/03/13
B0010.1 I. 斐波那契数列 cpp 简单 🗡 20/03/13
B0010.2 II. 青蛙跳台阶问题 cpp 简单 🗡 20/03/14
B0011 旋转数组的最小数字 cpp 简单 🗡, 🤔, ⭐️ 20/03/14 二分
B0013 机器人的运动范围 cpp 中等 ❌, 🚧, ⚠️, 🤔, ✅ 20/04/08 BFS
B0015 二进制中1的个数 cpp 简单 🗡 20/03/24 位运算
B0017 打印从1到最大的n位数 cpp 简单 🗡 20/03/24
B0021 调整数组顺序使奇数位于偶数前面 cpp 简单 🗡 20/03/28
B0022 链表中倒数第k个节点 cpp 简单 🗡 20/03/29 快慢指针
B0024 反转链表 cpp 简单 ⭐️, 🗡 20/03/29
B0025 合并两个有序链表 cpp 简单 🗡 20/03/24
B0030 包含min函数的栈 cpp 简单 🗡 20/03/29 辅助栈
B0039 数组中出现次数超过一半的数字 cpp 简单 🗡 20/03/29 Boyer-Moore投票法
B0040 最小的k个数 cpp 简单 ⚠️, 🤔, ✅, 🗡 20/03/20 排序、堆排序、快排**
B0049 丑数 cpp 中等 ⚠️, 🤔, 🗡 20/03/22 动态规划
B0051 数组中的逆序对 cpp 困难 ❌, 🚧, ⚠️, 🤔, ✅ 20/04/22 归并**
B0057 II. 和为s的连续正数序列 cpp 简单 ❌, 🤔, ✅ 20/03/06 双指针
B0059 II. 队列的最大值 cpp 中等 🤔, ✅ 20/03/07 辅助双端队列
B0062 圆圈中最后剩下的数字 cpp 简单 ⚠️, 🤔, ✅ 20/03/30 约瑟夫环
B01.06 字符串压缩 cpp 简单 20/03/16
B01.07 旋转矩阵 cpp 中等 20/04/07
B08.11 硬币 cpp 中等 ❌, 🚧, ⚠️, 🤔, ✅ 20/04/22 动态规划/数学
B10.01 合并排序的数组 cpp 简单 20/03/03 双指针(从后向前)
B16.03 交点 cpp 困难 🚧, ⚠️, 🤔, ✅ 20/04/12
B17.16 按摩师 cpp 简单 🤔, ✅ 20/03/24 动态规划
B56.01 数组中数字出现的次数 cpp 中等 20/04/28 位运算

周赛

# 题目 题解 难度 标记 时间 备注
C5356 矩阵中的幸运数 cpp 简单 🎯180 20/03/15
C5357 设计一个支持增量操作的栈 cpp 中等 🎯180 20/03/15
C5179 将二叉搜索树变平衡 cpp 中等 🎯180, 🤔 20/03/15
C5359 最大的团队表现值 cpp 困难 🎯180, ⚠️, 🤔 20/03/15
C5364 按既定顺序创建目标数组 cpp 简单 🎯181 20/03/22
C5187 四因数 cpp 中等 🎯181 20/03/22
C5366 检查网格中是否存在有效路径 cpp 中等 🎯181 20/03/22
C5367 最长快乐前缀 cpp 困难 🎯181, ⚠️, 🤔 20/03/22
C5368 找出数组中的幸运数 cpp 简单 🎯182 20/03/29
C5369 统计作战单位数 cpp 中等 🎯182 20/03/29 回溯
C5370 设计地铁系统 cpp 中等 🎯182 20/03/29
C5371 找到所有好字符串 cpp 困难 🎯182, 🚧

经历

# 题目 题解 来源 时间 笔记
华为机试题 旋转N阶方阵 cpp 华为 20/03/04 格式化输出
华为机试题 礼物分法 cpp 华为 20/03/04 回溯
华为机试题 排版校对 cpp 华为 20/03/04 动态规划
腾讯面试题 键值对排序 cpp 腾讯 20/03/31 Lambda
腾讯面试题 相邻升序/相邻降序输出 cpp 腾讯 20/03/31 滑动窗口

说明

        上述列表中的时间为首次在力扣提交并通过的日期,代码中的Date表示初次尝试解题的时间。对于一些标记(比如“✅”)来说,标记获取的日期可能和列表中时间不一致。针对这些不一致的情况,这些标记的具体获取时间会在源代码中标识

        Copyright 2020 Modnar.