分治 递归
2019.9
leetcode 46 全排列:
1.当前标记
leetcode 47 重复元素的全排列:
1.对序列排序去掉重复元素, 注dfs搜索也是有序的
2.广度上保留第一分支,深度上保留第一种组合方式
3.for 中 continue 剪枝
leetcode 15 寻找合适的不重复三元组:
1.同上,对剪枝条件取非进行递归暴力(超时)
2.如何利用有序数组,如何利用双指针
3.利用问题本身与序列的特性,使用两个下标对序列进行(同向或正向)扫描
4.注意去重
leetcode 16
leetcode 18
leetcode 654 最大二叉树:
1.递归建树
leetcode 998 最大二叉树2:
2.while循环中注意短路准则设置循环条件
leetcode 124 二叉树最大路径和
1.树中“路径”->分治/动规
2.清晰分治中的每一步
leetcode 129 树的到叶子路径和
1.树中遍历到叶子,注意递归的方式
1^ 递归中左右判断,叶为唯一边界
2^ 递归中不判断,空为边界,叶为边界
leetcode 130 未包围区域
1.从边界点出发
2.处理图遍历,还原的冗余