首页 > 其他分享 >435. 无重叠区间(贪心)

435. 无重叠区间(贪心)

时间:2023-05-18 16:36:48浏览次数:90  
标签:end 重叠 示例 intervals 移除 区间 435 贪心

labuladong 题解思路

难度中等

给定一个区间的集合 intervals ,其中 intervals[i] = [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠 

 

示例 1:

输入: intervals = [[1,2],[2,3],[3,4],[1,3]]
输出: 1
解释: 移除 [1,3] 后,剩下的区间没有重叠。

示例 2:

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

示例 3:

输入: intervals = [ [1,2], [2,3] ]
输出: 0
解释: 你不需要移除任何区间,因为它们已经是无重叠的了。



class Solution:
    def eraseOverlapIntervals(self, intervals: List[List[int]]) -> int:
        intervals = sorted(intervals,key=lambda x: x[0])
        start,end = intervals[0]
        cnt = 0
        for i in range(1,len(intervals)):
            if intervals[i][0] < end:
                cnt +=1
                end  = min(end, intervals[i][1])
            else:
                start,end = intervals[i]
            print (start,end)
        return cnt

 

标签:end,重叠,示例,intervals,移除,区间,435,贪心
From: https://www.cnblogs.com/zle1992/p/17412332.html

相关文章

  • 华为OD机试 商人买卖 or 贪心的商人
    最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单 https://dream.blog.csdn.net/article/details/128980730华为OD机试真题大全,用Python解华为机试题|机试宝典 https://dream.blog.csdn.net/article/details/129221789【华为OD机试】全流程解析......
  • C语言刷leetcode——贪心
    目录贪心刷题252.会议室(P)253.会议室II(P)1353.最多可以参加的会议数目贪心找到贪心策略,使得:局部最优解-->整体最优解刷题252.会议室(P)253.会议室II(P)#defineMAX1000001intminMeetingRooms(int**intervals,intintervalsSize,int*intervalsColSize){......
  • 贪心算法
    原文点此跳转介绍贪心算法是算法设计的一种方法。期盼通过每个阶段的局部最优选择,从而达到全局的最优。但结果不一定是最优的。基础案例场景一零钱兑换现有硬币1元、2元、5元,需要用最少的硬币数量凑够11元。利用贪心算法实现,优先考虑最好的结果就是面值为5元的硬币,11=5+......
  • 贪心:临项交换 & 带悔贪心
    模拟赛遇见临项交换和带悔贪心时确实想了一下他们的区别和应用范围,因为差点用错,但并没有深入思考。今天老师又提到了这个问题,来写一下。 一般这一类题目的特点:需要选择的元素有两个权值,均对所求答案的排列顺序、统计造成影响。 临项交换:排序,每次用相邻两项进行比较交换。......
  • 多个div放在一起,边框重叠去重
    多个div放在一起,边框如何去重先看一下效果 在看一下改进后的效果 是不是舒服多了。上代码<ulclass="firstul"><li>cell</li><li>cell</li><li>cell</li><li>cell</li><li>cell</l......
  • 用chatgpt ui 实现 对于时间段集合中的每个时间段,检查它是否与要检查的时间段重叠或者
    以下是一个C#实现,用于确定一个时间段是否与另一个时间段集合重叠或交叉,如果有重叠或交叉则返回false。算法:传递要检查的时间段和时间段集合作为参数。对于时间段集合中的每个时间段,检查它是否与要检查的时间段重叠或者有交叉。如果有重叠或交叉,则返回false表示它们不应该......
  • 435. 无重叠区间
    给定一个区间的集合intervals,其中intervals[i]=[starti,endi]。返回需要移除区间的最小数量,使剩余区间互不重叠。输入:intervals=[[1,2],[2,3],[3,4],[1,3]]输出:1解释:移除[1,3]后,剩下的区间没有重叠。我的解法解法思路与最少数量的箭引爆气球相同,先将......
  • 浅谈一类反悔贪心的问题
    种树在长度为\(n\)的数列中选择至少\(k\)个数字,他们都有价值,使得没有相邻的数字被取到,且数字之和最大。求这个最大的数字之和。我们考虑一个反悔贪心,首先用一个链表来维护数列,然后,每次贪心的选择最大的数字,并标记左右不可用。但是这个贪心显然是错的,我们再直接将这三个......
  • E. Generate a String(典:贪心+动态规划)
    题目E.GenerateaString题意输入三个不同的整数\(n(1\leqn\leq10^7),x,y(1 ≤ x, y ≤ 10^9)\)。从0开始,每次可以+1,-1,代价是x,或者当前值*2,代价是y问怎样才能到达n用最小的代价思路第一方法是暴力搜索,但是数据过大,不行观察发现,如果从n出发,做所有操......
  • css 文字内容过长和下一个信息项重叠解决办法(uniapp)
    1.把固定高度注释掉,自动调整高度.cardBox{ padding:20rpx30rpx; .item{ //width:calc(100%-40rpx); //height:398rpx; padding:10rpx20rpx0rpx; margin-bottom:25rpx; border-radius:8rpx; box-shadow:0rpx4rpx16rpx2rpx#BDC0C6; background:......