美文网首页
leetCode之贪心算法

leetCode之贪心算法

作者: Benzic | 来源:发表于2020-10-20 17:03 被阅读0次

第一题

  • 难度:中等
  • 题目:435. 无重叠区间
    给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。
    注意:
    可以认为区间的终点总是大于它的起点。
    区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。

示例

输入: [ [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

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

解题思路

  • 这道题使用贪心算法,先把数组按最后的数排序,然后依次比较最后的数是否都大于flag否则就是重复元素

我的答案

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

相关文章

  • 大厂算法面试之leetcode精讲4.贪心

    大厂算法面试之leetcode精讲4.贪心 视频教程(高效学习):点击学习[https://xiaochen102...

  • ARTS 20210104-0109

    Algorithm: 每周至少做一个 LeetCode 的算法题LeetCode 435 无重叠区间使用贪心算法解...

  • leetCode之贪心算法

    第一题 难度:中等 题目:435. 无重叠区间[https://leetcode-cn.com/problems/...

  • A-LeetCode-算法-总纲

    前言: 标签说明,A为困难,B为中等,C为简单 1、子目录纲要(算法) 1、A-LeetCode-算法-贪心算法[...

  • 贪心算法 03

    贪心算法 03 [https://imgchr.com/i/yt0vrQ] [https://leetcode-c...

  • 322. 零钱兑换【动态规划】【BFS】

    https://leetcode-cn.com/problems/coin-change/首先常见的贪心算法不合适...

  • LeetCode刷题之贪心算法

    贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他...

  • LeetCode刷题之贪心算法

    贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他...

  • 贪心算法

    介绍 介绍来自 LeetCode 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也...

  • LeetCode进阶1029-贪心

    概要 上一篇博客《LeetCode进阶944-贪心》,有朋友提出建议944对理解贪心算法并不具有很强的代表性。回顾...

网友评论

      本文标题:leetCode之贪心算法

      本文链接:https://www.haomeiwen.com/subject/uobdmktx.html