import java.util.Arrays; class Solution { public int findMinArrowShots(int[][] points) { if (points.length == 0) return 0; // ترتيب الفواصل بناءً على نقاط النهاية Arrays.sort(points, (a, b) -> Integer.compare(a[1], b[1])); int arrows = 1; // نبدأ بسهم واحد int prevEnd = points[0][1]; // نهاية أول فاصل for (int i = 1; i < points.length; i++) { if (points[i][0] > prevEnd) { // إذا كان الفاصل الحالي لا يتداخل مع السهم السابق arrows++; prevEnd = points[i][1]; } } return arrows; } }
import java.util.Arrays;
class Solution {
public int findMinArrowShots(int[][] points) {
if (points.length == 0) return 0;
// ترتيب الفواصل بناءً على نقاط النهاية
Arrays.sort(points, (a, b) -> Integer.compare(a[1], b[1]));
int arrows = 1; // نبدأ بسهم واحد
int prevEnd = points[0][1]; // نهاية أول فاصل
for (int i = 1; i < points.length; i++) {
if (points[i][0] > prevEnd) {
// إذا كان الفاصل الحالي لا يتداخل مع السهم السابق
arrows++;
prevEnd = points[i][1];
}
}
return arrows;
}
}
❤