Update notes
All checks were successful
ci/woodpecker/push/test Pipeline was successful

This commit is contained in:
Sainnhe Park 2023-02-07 17:45:52 +08:00
parent f4912703f9
commit ff53de285f

View File

@ -112,3 +112,41 @@
局部最优:找到当前覆盖区间的元素,使得能最大程度地延长当前覆盖范围。 局部最优:找到当前覆盖区间的元素,使得能最大程度地延长当前覆盖范围。
过程:一开始第一个元素的值就是初始覆盖区间的长度,遍历这个区间的所有元素,找到这样一个元素,它能够最大程度地延长当前覆盖区间,这个元素就是下一跳。在下一个覆盖区间中,再找到同样的元素,这样一直迭代。 过程:一开始第一个元素的值就是初始覆盖区间的长度,遍历这个区间的所有元素,找到这样一个元素,它能够最大程度地延长当前覆盖区间,这个元素就是下一跳。在下一个覆盖区间中,再找到同样的元素,这样一直迭代。
## [452. 用最少数量的箭引爆气球](https://leetcode.cn/problems/minimum-number-of-arrows-to-burst-balloons/)
全局:
- 限制:射完全部气球
- 目标:消耗的箭的数量最少
局部:
- 限制:射箭的范围是当前气球所在的范围
- 目标:这一箭要射穿的气球数量达到最大
算法优化:先对左边界(或右边界)进行排序,以降低时间复杂度。
## [435. 无重叠区间](https://leetcode.cn/problems/non-overlapping-intervals/)
从左向右记录非交叉区间的个数,用区间总数减去非交叉区间的个数就是需要移除的区间个数了。问题就是要求非交叉区间的最大个数。
先按右边界进行排序。
局部最优:优先选右边界小的区间,所以从左向右遍历,留给下一个区间的空间大一些,从而尽量避免交叉。
全局最优:选取最多的非交叉区间。
## [56. 合并区间](https://leetcode.cn/problems/merge-intervals/)
先按左边界排序。
局部最优:当前区间能合并出的最长区间
全局最优:合并所有重叠区间
## [968. 监控二叉树](https://leetcode.cn/problems/binary-tree-cameras/)
局部最优:让叶子节点的父节点安摄像头,所用摄像头最少
全局最优:全部摄像头数量所用最少