6月13日
- 1021, 921
6月17日 刷题日,刷15题
- 98, 236, 235, 15, 703
- 二叉树遍历: pre_order, in_order, post_order
- 广度优先遍历:队列实现,先进先出,还可以有个visited的集合,记录已经访问过的元素
- 深度优先遍历:栈实现,先进后出;或递归实现
- 102, 50, 169, 239
- 贪心算法:
greedy.py - 122, 111, 104, 22
7月20日
- 1114 concurreny类型题, done
- 1115 交替打印foobar, done
- 1116 打印零与奇偶数, done
8月1日
- 460 实现LFU pip install sortedcontainers done
- 208 实现字典树 done
8月7日
- 734 相似句子判断 map与set应用 done
- 737 具有传递性的句子判断 graph实现,或并查集实现 done
- 684 冗余连接 done
8月8日
- 547 朋友圈 done
8月9日
- 207 done
- 210 拓扑排序 done
8月12日
- 210 拓扑排序的一种自然解法
8月14日
- Fenwick Tree / Binary Indexed Tree 307 done
8月17日
- 895 最大频率栈 done
- 146 LRU done
- 62、63、64 二维DP done
- 198 打家劫舍 一维DP, 还可以降维
8月18日
- 746 Min Cost Climbing Stairs done
- 53 Maximum Subarray done 需要维护2个状态:dp_sofar和dp_ending_here
8月19日
- 39 combination sum done
8月20日
- 278 First Bad Version
- 69 x 的平方根
8月21日
- 46 Permutations I (每个数都不相同), 使用了回溯
- 47 PermuteUnique II (有数字相同), 很明确的使用了回溯
8月23日
- 46, 47回溯问题和剪枝的深入思考
8月24日
- 682
8月25日
- 875 二分查找
9月3日
- 1145 binary tree color game
- 676 magic dict
9月4日
- 289 game of life 模拟题
9月5日
- 2 Add Two Numbers
- 848 Shifting Letters
9月10日
- 901 Online Stock Span 单调栈
9月17日 题外话
- import模块的顺序, 是否会重复导入以及循环导入问题的理解
- interestings/cirular_import
- interestings/modules_demo
- python3_notebook/import_modules python a.py python b.py python cc.py python y.py
9月26日
- 410dfs遍历的实现
9月27日
- dfs实现叉乘: interestings/cross_product.py
10月5日
- segment Tree(线段树), 范围求值, LC307
10月7日
- 111, 112, 101: BST
待续
- 410 Split Array Largest Sum
- 378 可以用二分查找, 但要求有很强的问题转化能力
- 315 Fenwick Tree
- 357 todo
- 70 动态规划 todo
- 46 回溯算法 todo
- 739 todo
- 685 有向图冗余连接 todo
9月3日 字节跳动题库: https://leetcode-cn.com/company/bytedance/
- 8-queen
- 5 longestPalindrome(最长回文)
9月4日
- 257 Binary Tree Paths
- 206 Reverse Linked List
9月5日
- 11 Container With Most Water
- 60 第k个排列
9月6日
- 107 Binary Tree Level Order Traversal II
- 240 Search a 2D Matrix II
9月7日
- 347 前 K 个高频元素
- offer_62 圆圈中最后剩下的数字(约瑟夫环)
9月8日
- 77 组合
9月9日
- offer_38 字符串排列
- 39 组合总和
9月10日
- 40 组合数2
- 54 螺旋矩阵
9月11日
- 42 接水
- 216 组合3
9月12日
- 637 树每层的平均值
- 430 扁平化多级双向链表
9月14日
- 79 单词搜索
- 59 队列的最大值
9月15日
- 547 朋友圈
- 92 反转链表 II
9月16日
- 226 反转树
- 面试题 03.02. 栈的最小值
9月17日
- 725 分隔链表
- offer_42 连续子数组的最大和
- 716 最大栈
9月18日
-
- 移位字符串分组
-
- LRU缓存机制 (难度:⭐⭐⭐⭐)(使用有序字典)
9月19日
- Offer 07. 重建二叉树
-
- 左叶子之和
9月20日 - 300. 最长上升子序列 - 538. 把二叉搜索树转换为累加树
9月21日 - 199 树的右视图
9月22日
- 440 K-th Smallest in Lexicographical Order (确实难)
- 617 合并二叉树
9月30日
- 145 后序遍历
- 701 二叉搜索树中的插入操作
10月9日
- 1542 awesome substring todo: https://www.youtube.com/watch?v=b0oxAd94FOg&list=PLLuMmzMTgVK49Hph4vV8DAzGZpj4azwmz&ab_channel=HuaHua
- 325 和等于 k 的最长子数组长度 done
- 560 和为K的子数组 done
10月28日
- offer_47 礼物的最大价值
- 1074 元素和为目标值的子矩阵数量 todo
10月31日
- offer_57 和为目标值的连续数
11月10日
- 127 买卖股票的最佳时机
12月1日
- 34 二分
- 1672 矩阵计算
12月2日
- 35 二分
- 1279 红绿灯 多线程
12月10日
- 860 柠檬水找零
- 61 旋转链表
12月11日
- 0202 链表倒数第k个节点值
- offer35 复杂链表的复制
12月13日
- 0203 删除中间节点
- 369 给单链表加一
12月14日
- 714 买卖股票的最佳时机含手续费
- 234 回文链表
12月30日
- 1046 最后一块石头的重量
1月8日
- 110 平衡二叉树
- 189 旋转数组
1月11日
- 121 买卖股票
1月12日
- 面试题 04.03. 特定深度节点链表
-
- 好数对的数目
1月14日
- 全排列
- 组合
1月15日
- 947 移除最多的同行或同列石头
1月21日
- 1249 移除无效的括号
- 589 N叉树的前序遍历
11月19日
- 49 Group Anagrams
- 128 Longest Consecutive Sequence 很有意思, 不需要排序, 虽然2重循环, 但因为数组中每个数不是开头就不进内循环, 因此每个数只会进入内层循环一次, 因此复杂度是O(n)
- 11 Container With Most Water
- 15 3Sum, 很巧妙, 需要仔细思考, 第二轮只迭代一次
- 3 Longest Substring Without Repeating Characters 需要考虑当迭代截止时, 如果最后的那组长度还未计算的场景
11月21日
- 560 和为 K 的子数组 好题, 注意和为某个值的前缀子数组可能存在多个
11月20日
- 74 Search a 2D Matrix
- 739 Daily Temperatures
- 155 Min Stack
11月22日
- 347 Top K Frequent Elements
- 102 Binary Tree Level Order Traversal
- 287 Find the Duplicate Number
- 19 Remove Nth Node From End of List
11月25日
- 23 Merge k Sorted Lists
11月26日
- 14 Longest Common Prefix