日期 题目 题目难度 类型 备注 复习
    20210407
    20210415
    #26 删除有序数组中的重复项
    #80. 删除有序数组中的重复项 II
    简单
    中等
    数组
    数组
    双指针
    链接

    20210407 #27 移除元素 简单 数组
    20210408 #989 数组形式的整数加法 简单 数组
    20210409 #189 旋转数组 中等 数组 数组翻转(想不到!)
    💡环状置换(一开始写错了)
    20210414 #面试题 17.04 消失的数字 简单 数组 异或!
    20210414 #剑指 Offer 56 - I 数组中数字出现的次数 中等 数组 异或!
    20210414 #剑指 Offer 18 删除链表的节点 简单 链表
    20210414 #面试题 02.03 删除中间节点

    #237 删除链表中的节点
    简单 链表
    20210414
    20210415
    20210415
    #19 删除链表的倒数第 N 个结点
    #剑指 Offer 22 链表中倒数第k个节点
    #面试题 02.02 返回倒数第 k 个节点
    中等
    简单
    简单
    链表
    链表
    链表
    双指针
    20210415 #83 删除排序链表中的重复元素 简单 链表 一次遍历,一个指针就能搞定,不需要哑节点
    20210415 #82 删除排序链表中的重复元素 II 中等 链表 一次遍历,一个指针就能搞定,有哑节点更方便
    20210415 #1646 获取生成数组中的最大值 简单 数组 开辟空间,不知道有没有更好的解法?
    20210415 #206 反转链表 简单 链表 迭代
    递归!!!
    20210415 #203 移除链表元素 简单 链表 双指针
    递归!!!
    20200415 #876 链表的中间结点 简单 链表 双指针
    20210522 #810 黑板异或游戏 困难 数组 数学
    20210523 #1 两数之和 简单 数组 哈希表
    20210523 #3 无重复字符的最长子串 中等 数组 滑动窗口+哈希表
    20210523 #11 盛最多水的容器 中等 数组 双指针!!
    20210528 #剑指 Offer 56 - II 数组中数字出现的次
    中等 数组 哈希表
    位运算
    有限自动机!!!
    20210528 #477 汉明距离总和 中等 数组 逐位计算
    20210530 #231 2 的幂 简单 数学 位运算
    1. n & (n - 1) == 0
    2. lowbit(n)
    20210531 #342 4的幂 简单 数学 位运算
    1. 掩码方式 mask
    2. 位运算+模运算
    20210531 #326 3的幂 简单 数学
    1. 按题求解
    2. 迭代循环
    20210601 #69 x 的平方根 简单 二分 二分查找
    20210601 #374 猜数字大小 简单 二分 二分(模板1)
    20210601 #278 第一个错误的版本 简单 二分 二分(模板1)
    20210602 #162 寻找峰值 中等 二分 二分(模板2)
    20210602 #658 找到 K 个最接近的元素 中等 二分 💡有点难!
    20210602 #4 寻找两个正序数组的中位数 困难 二分 💡有点难!
    20210603 #34 在排序数组中查找元素的第一个和最后一个位置 中等 二分 💎💎经典!
    二分(模板2)
    20210603 #33 搜索旋转排序数组 中等 二分 💎二分(模板1)
    20210603 #81 搜索旋转排序数组 II 中等 二分 33进阶版(模板1)
    20210603 #852 山脉数组的峰顶索引 简单 二分 判断mid与mid+1元素的相对大小,需要用到模板2
    20210613 #153 寻找旋转排序数组中的最小值 中等 二分 与33,81不同的是将寻找目标值改为找最小值
    20210613 #704 二分查找 简单 二分 二分(模板1)
    20210613 #35 搜索插入位置 简单 二分 二分(模板2)
    20210613 #50 Pow(x, n) 中等 二分 递归类型的二分
    20210613 #367 有效的完全平方数 简单 二分 用long类型保存平方
    20210613 #744 寻找比目标字母大的最小字母 简单 二分 二分(模板2)
    20210613 #154 寻找旋转排序数组中的最小值 II
    #剑指 Offer 11 旋转数组的最小数字
    困难 二分 153的进阶版,允许重复
    20210613 #349 两个数组的交集 简单 二分 多次二分
    - 哈希表
    - 排序+双指针
    20210614 #350 两个数组的交集 II 简单 二分 用不了二分了
    - 哈希表
    - 排序+双指针
    20210614 #167 两数之和 II - 输入有序数组 简单 数组
    - 双指针
    - 多次二分
    20210614 #287 寻找重复数
    剑指offer 13. 找出数组中重复的数字
    #剑指 Offer 03 数组中重复的数字
    中等 二分 💡有点难(二分)
    - 按位求解
    - 统计个数

    抽屉原理
    快慢指针(类似于环形链表) | ✨ | | 20210614 | #29 两数相除 | 中等 | 二分 | 二分法(模板2)
    倍增乘法模板 | | | 20210614 | #1095 山脉数组中查找目标值 | 困难 | 二分 | 852的进阶,找到峰顶元素后再找目标元素的最小索引 | | | 20210615 | #392 判断子序列 | 简单 | 二分 | 排序+二分!太烂
    💡后续。。。 | | | 20210615 | #74 搜索二维矩阵 | 中等 | 二分 | 两次二分
    模板1和模板2 | | | 20210615 | #441 排列硬币 | 简单 | 二分 | 二分(模板2) | | | 20210615 | #面试题 08.03 魔术索引 | 简单 | 第一问:二分
    第二问:跳跃线性 | 二分
    跳跃线性 | | | 20210616 | #509 斐波那契数 | 简单 | 动态规划 |
    - 动态规划
    - 递归
    | | | 20210616 | #70 爬楼梯 | 简单 | 动态规划 |
    - 动态规划
    | | | 20210616 | #746 使用最小花费爬楼梯 | 简单 | 动态规划 |
    - 动态规划
    考虑如何结束的问题 | | | 20210616 | #62 不同路径 | 中等 | 动态规划 |
    - 深度搜索(慢)
    - 动态规划
    - 数论()
    | | | 20210618 | #63 不同路径 II | 中等 | 动态规划 |
    - 动态规划
    | | | 20210618 | #64 最小路径和 | 中等 | 动态规划 |
    - 动态规划
    | | | 20210618 | #120 三角形最小路径和 | 中等 | 动态规划 |
    - 动态规划
    | | | 20210618 | #343 整数拆分 | 中等 | 动态规划 |
    - 动态规划
    - 贪心
    | | | 20210618 | #483 最小好进制 | 困难 | 二分 | 💡 | | | 20210618 | #931 下降路径最小和 | 中等 | 动态规划 |
    - 动态规划
    | | | 20210619 | #1289 下降路径最小和 II | 困难 | 动态规划 |
    - 动态规划
    | | | 20210620 | #1600 皇位继承顺序 | 中等 | 链表,树 | | | | 20210620 | #1575 统计所有可行路径 | 困难 | 动态规划 |
    - 动态规划
    - 记忆化搜索
    | | | 20210620 | #576 出界的路径数 | 中等 | 动态规划 |
    - 动态规划
    | | | 20210621 | #1301 最大得分的路径数目 | 困难 | 动态规划 |
    - 动态规划
    | | | 20210621 | #96 不同的二叉搜索树 | 中等 | 动态规划 |
    - 动态规划
    | | | 20210621 | #401 二进制手表 | 简单 | 位运算
    回溯 |
    - 枚举
    - 回溯💡
    | | | 20210622 | 背包问题 | | | | | | 20210622 | #416 分割等和子集 | 中等 | 01背包 | 恰好问题
    用boolean数组也行
    dp[0] = true
    dp[j] = dp[j] | dp[j-nums[i] | | | 20210622 | #1049 最后一块石头的重量 II | 中等 | 01背包 | 经典背包问题:给定容量最多能装多少
    dp[j] = max(dp[j], dp[j-nums[i]]+w[i]) | | | 20210622 | #剑指 Offer 38 字符串的排列 | 中等 | 回溯 | 💡每日一题 | | | 20210622 | #494 目标和 | 中等 | 01背包 | 方案数
    dp[0] = 1
    dp[j] += dp[j-nums[i]] | | | 20210622 | #474 一和零 | 中等 | 01背包 | 最多物品数的方案
    dp[0] = 0
    dp[j] = max(dp[j], dp[j-nums[i]]+1) | | | 20210622 | #518 零钱兑换 II | 中等 | 完全背包 | 组合方案数
    外层遍历物品,内层遍历背包
    dp[0] = 1
    dp[j] += dp[j-nums[i]] | | | 20210622 | #377 组合总和 Ⅳ | 中等 | 完全背包 | 组合方案数 | | | 20210622 | #70 爬楼梯 | 简单 | 完全背包
    扩展到每次[1,2,…m]个台阶的问题 | 排列方案数
    外层遍历背包,内层遍历物品
    dp[0] = 1
    dp[j] += dp[j-nums[i]] | | | 20210622 | #322 零钱兑换 | 中等 | 完全背包 | 最少物品数的方案
    dp[0] = 0 其它元素初始化为Integer.MAX_VALUE
    dp[j] = max(dp[j], dp[j-nums[i]]+1) | | | 20210622 | #279 完全平方数 | 中等 | 完全背包 | 最少物品数的方案 | | | 20210623 | #139 单词拆分 | 中等 | 完全背包 | 恰好问题
    字符串的特殊性:先遍历背包再遍历物品 | | | 20210623 | #剑指 Offer 15 二进制中1的个数 | 简单 | 位运算 | | | | 20210623 | #1449 数位成本和为目标值的最大数字 | 困难 | 完全背包 | 最多物品数的方案
    求该方案的具体物品 | | | 20210624 | #149 直线上最多的点数 | 困难 | 数学 | 💡每日一题 | | | 20210625 | #752 打开转盘锁 | 中等 | bfs | 💡每日一题 | | | 20210625 | #773 滑动谜题 | 困难 | | 💡每日一题 | | | 20210627 | #909 蛇梯棋 | 中等 | | 💡每日一题 | | | 20210627 | #45 跳跃游戏 II | 中等 | 数组 |
    - dp
    - 贪心
    | | | 20210627 | #455 分发饼干 | 简单 | 贪心 |
    - 贪心
    | | | 20210627 | #198 打家劫舍
    #213 打家劫舍 II | 中等 | dp | | | | | | | | | | 20210627 | #剑指 Offer 04 二维数组中的查找 | 中等 | 二分 |
    - 二分+暴力
    - 二分+线性扫描
    - 纯线性扫描
    本题是74的进阶! | | | 20210627 | #剑指 Offer 05 替换空格 | 简单 | 字符串 | 线性扫描(StringBuilder) | | | 20210627 | #剑指 Offer 06 从尾到头打印链表 | 简单 | 链表 |
    - 栈
    | | | 20210627 | #815 公交路线 | 困难 | | 💡每日一题 | | | 20210628 | #剑指 Offer 22 链表中倒数第k个节点 | 简单 | 链表 |
    - 快慢指针
    | 注意起始点 | | 20210627 | #19 删除链表的倒数第 N 个结点 | 中等 | 链表 |
    - 快慢指针
    | | | 20210628 | #剑指 Offer 12 矩阵中的路径 | 中等 | 树 |
    - dfs
    | | | 20210628 | #剑指 Offer 07 重建二叉树 | 中等 | 树 |
    - 递归
    | | | 20210628 | #剑指 Offer 09 用两个栈实现队列 | 简单 | 栈,队列 |
    - 模拟
    | | | 20210628 | #剑指 Offer 13 机器人的运动范围 | 中等 | 数组 |
    - dp
    - bfs
    | | | 20210628 | #142 环形链表 II | 中等 | 链表 |
    - 快慢指针
    | | | 20210628 | #141 环形链表 | 简单 | 链表 |
    - 快慢指针
    | | | 20210628 | #剑指 Offer 14- I 剪绳子 | 中等 | 动态规划 |
    - dp
    - 数学
    | | | 20210628 | #剑指 Offer 16 数值的整数次方 | 中等 | 数学 | 同50
    注意数的范围 | | | 20210628 | #剑指 Offer 21 调整数组顺序使奇数位于偶数前面 | 简单 | 数组 |
    - 双指针
    | | | 20210628 | #27 移除元素 | 简单 | 数组 |
    - 双指针
    | | | 20210629 | #168 Excel表列名称 | 简单 | 数学 | 每日一题
    - 进制转换问题(特殊点:0的问题)
    | | | 20210629 | #53 最大子序和
    #剑指 Offer 42 连续子数组的最大和 | 简单 | 数组 |
    - dp
    - 线段树💡
    | | | | | | | | | | | | | | | | | | | | | | |