class Solution { public int findMinArrowShots(int[][] points) { if(points.length == 0) { return 0; } Arrays.sort(points, Comparator.comparingInt(o -> o[1])); final int len = points.length; int cnt = 1; int end = points[0][1]; for(int i = 1; i < len; i++) { if(points[i][0] <= end) { continue; } ++cnt; end = points[i][1]; } return cnt; } }