Skip to content

452射气球

code

javascript
/**
 * @param {number[][]} points
 * @return {number}
 */
var findMinArrowShots = function(points) {
    points.sort((a,b) => {
        if(a[0] !== b[0]){
            return a[0] - b[0];
        }
        return a[1] - b[1];
    });
    let count = 0;
    let temp_left = points[0][0];
    let temp_right = points[0][1];
    
    for(let i = 1; i < points.length; i++){
        if(points[i][0] <= temp_right){
            // 1 4    2 5 变成了 24 
            temp_left = points[i][0];
            temp_right = Math.min(temp_right, points[i][1]);
            count++;
        } else {
            temp_left = points[i][0];
            temp_right = points[i][1];
        }
    }
    return points.length - count;
    
};

总结

  1. 感觉就是合并区间那类东西的逆操作....我觉得北美面试的话可能卡点在英语上....看不懂说的什么东西
  2. 有更简版本,要注意一下
  3. 另外区间其实有四态,要注意一下