近期算法一览
周一
1、 积压订单中的订单总数
2、丑数 II
3、超级丑数
4、移除石子的最大得分
5、 二叉树的最大深度
周三
1、面试题 : 合法二叉搜索树
2、 二叉搜索树中第 K 小的元素
3、二叉树的右视图
4、 相同的树
5、对称二叉树
周五
1、剑指 Offer 二叉搜索树的最近公共祖先
2、 二叉树中的最大路径和
3、前 K 个高频元素
4、 最接近原点的 K 个点
5、根据字符出现频率排序
题型分析
二叉树
这周刷的二叉树比较多,搜索二叉树,最大路径二叉树,相同二叉树、对称二叉树等等;这些二叉树都可以使用DFS求解;
丑数系列
动态规划;这类题型一般需要找到动态转移方程可以比较顺利的得到最优解;但是状态转移方程不怎么好找,正在学习
堆
积压订单中的订单总数、移除石子的最大得分、前 K 个高频元素;这三个题型可以根据题目要求暴力求解,但是暴力时间复杂度比较高,需要优化算法,这里优化用到了堆这个数据结构;大根堆,小根堆;因为之前没有接触过这个数据结构,这周花了不分时间深入了解了什么是大根堆、小根堆; 点击我,了解JavaScript大根堆
总结
新的一周,学会使用dfs对二叉树前序、中序、后序、层序遍历;
了解堆概念,学会用堆优化一些算法