我的js算法爬坑之旅-无重叠区间

171 阅读1分钟

第八十五天:力扣435题,无重叠区间

地址:leetcode-cn.com/problems/no…

思路:排序+动态规划

var eraseOverlapIntervals = function(intervals) {
    const n = intervals.length;
    if (!n) {
        return 0;
    }
    intervals.sort((a, b) => a[0] - b[0]);
    const f = new Array(n).fill(1);
    for (let i = 1; i < n; i++) {
        for (let j = 0; j < i; j++) {
            if (intervals[j][1] <= intervals[i][0]) {
                f[i] = Math.max(f[i], f[j] + 1);
            }
        }
    }
    return n - Math.max(...f);
};

执行用时:468 ms, 在所有 JavaScript 提交中击败了5.23%的用户

内存消耗:39.6 MB, 在所有 JavaScript 提交中击败了32.92%的用户