leetCode之贪心算法

2020-10-20  本文已影响0人  Benzic

第一题

示例

输入: [ [1,2], [2,3], [3,4], [1,3] ]

输出: 1

解释: 移除 [1,3] 后,剩下的区间没有重叠。

输入: [ [1,2], [1,2], [1,2] ]

输出: 2

解释: 你需要移除两个 [1,2] 来使剩下的区间没有重叠。

输入: [ [1,2], [2,3] ]

输出: 0

解释: 你不需要移除任何区间,因为它们已经是无重叠的了。

解题思路

我的答案

var eraseOverlapIntervals = function (intervals) {
    intervals.sort((a, b) => { return a[1] - b[1] })
    let flag = -Infinity;
    let index = 0;
    let count = 0
    while (index < intervals.length) {
        if (intervals[index][0] >= flag) {
            flag = intervals[index][1]
        } else {
            count++
        }
        index++
    }
    return count
};
image.png
上一篇 下一篇

猜你喜欢

热点阅读