class Solution {
public int findMinArrowShots(int[][] points) {
Arrays.sort(points, (a, b) -> Integer.compare(a[0], b[0]));
int count = 1;
for (int i = 1; i < points.length; i++) {
if (points[i][0] > points[i - 1][1]) {
count++;
} else {
points[i][1] = Math.min(points[i][1], points[i - 1][1]);
}
}
return count;
}
}
代码随想录——452. 用最少数量的箭引爆气球
最新推荐文章于 2024-11-03 11:01:20 发布
该代码实现了一个方法,用于确定在给定一系列非重叠区间的情况下,用最少的箭来覆盖所有区间所需的最大箭数。首先对区间按起始点进行排序,然后遍历区间,如果当前区间的起始点大于前一个区间的结束点,则需要发射新箭;否则,更新当前区间的结束点为两个区间结束点的最小值。最后返回箭的数量。
摘要由CSDN通过智能技术生成