Skip to content

排序 - 用最少数量的箭引爆气球

javascript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
let points = [[1, 9], [7, 16], [12, 17]];
// error : [[1,9],[7,16],[2,5],[7,12],[9,11],[2,10],[9,16],[3,9],[1,3]]
points.sort((a, b) => a[0] - b[0]);
console.log(points);
let num = 1; //用于记录相同区间的res索引
let space = [...points[0]];
for (let i = 1; i < points.length; i++) {
    console.log(space);
    // 有公共区间
    if (points[i][0] <= space[1]) {
        space[0] = points[i][0];
        space[1] = Math.min(points[i][1], points[i - 1][1]);
    }
    else {
        num++;
        space[0] = points[i][0];
        space[1] = points[i][1];
    }
}
console.log(num);
typescript
let points: number[][] = [[1,9],[7,16],[12,17]]
// error : [[1,9],[7,16],[2,5],[7,12],[9,11],[2,10],[9,16],[3,9],[1,3]]
points.sort((a, b) => a[0] - b[0])
console.log(points)
let num = 1 //用于记录相同区间的res索引

let space: number[] = [...points[0]]
for (let i = 1; i < points.length; i++) {
    console.log(space)
    // 有公共区间
    if (points[i][0] <= space[1]) {
        space[0] = points[i][0]
        space[1] = Math.min(points[i][1], points[i - 1][1])

    } else {
        num++
        space[0] = points[i][0]
        space[1] = points[i][1]
    }
}

console.log(num)

源码地址