给植物浇水
植物长廊分为 n 个部分,编号为 0、1、2、3...n-1。每个分区 在每个分区都安装了洒水器。分区 i 上范围为 x 的喷水器可以浇灌所有
分区。
给定一个由 n 个整数组成的数组 gallery[],其中 gallery[i] 是第 i 个分区的洒水器范围(幂==-1 表示没有)。功率==-1 表示未连接喷水器),返回需要打开才能浇水的最少喷水器数量。
的最小数量。
如果给定的喷淋器无法浇灌整个长廊,则打印-1。
示例 1:
输入
n = 6
gallery[ ] = {-1, 2, 2, -1, 0, 0}
输出:
2
说明 分度值为 2 和 5 的洒水器可浇灌整个画廊,分度值为 2 的洒水器跨度 = [0,4],分度值为 5 的洒水器跨度 = [5,5]。
例 2:
输入
n = 9
画廊[ ] = {2, 3, 4, -1, 2, 0, 0, -1, 0}
输出:
-1
说明 没有洒水器可以在索引 7 处洒水。因此,所有植物都不能被浇灌。
例 3:
输入
n = 9
图库[ ] = {2, 3, 4, -1, 0, 0, 0, 0, 0}
输出: 3
3
说明: 位于索引 2、7 和 8 的洒水器可以浇灌所有植物。
-------
维护2个变量,cur_max 以及pre_max;
然后排序,更新。
WA 了不知道多少次。。。