美文网首页
435. 无重叠区间

435. 无重叠区间

作者: 含泪若笑 | 来源:发表于2020-07-27 13:29 被阅读0次

盗用labuladong的一个解释,觉得说的挺好的。

什么是贪心算法呢?贪心算法可以认为是动态规划算法的一个特例,相比动态规划,使用贪心算法需要满足更多的条件(贪心选择性质),但是效率比动态规划要高。

比如说一个算法问题使用暴力解法需要指数级时间,如果能使用动态规划消除重叠子问题,就可以降到多项式级别的时间,如果满足贪心选择性质,那么可以进一步降低时间复杂度,达到线性级别的。

什么是贪心选择性质呢,简单说就是:每一步都做出一个局部最优的选择,最终的结果就是全局最优。注意哦,这是一种特殊性质,其实只有一部分问题拥有这个性质。

这道题要求——找到需要移除区间的最小数量,即连续区间最多的,所以我们可以将区间排序,每次选择符合要求的最小的右区间。记录几个点:

1 判断为空的情况,这个总忘记,if(intervals.length == 0) return 0;

2 二维数组按照列排队的两种写法,没啥区别,一个是lambda表达式另一个是普通写法:

Arrays.sort(intervals, Comparator.comparingInt(o -> o[1]));

Arrays.sort(intervals, new Comparator<int[]>(){

            public int compare(int a[], int[]b){

                return a[1] - b[1];

            }

 });

代码:

https://github.com/hanleirx/LeetCode/blob/master/435.%20%E6%97%A0%E9%87%8D%E5%8F%A0%E5%8C%BA%E9%97%B4

相关文章

  • 435. 无重叠区间

    435. 无重叠区间[https://leetcode-cn.com/problems/non-overlappi...

  • [day8] [LeetCode] [title435,5]

    435. 无重叠区间 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 注意: 可以认为区间的...

  • 一起学算法-435. 无重叠区间

    一、题目435. 无重叠区间 LeetCode地址:https://leetcode-cn.com/problem...

  • leetCode之贪心算法

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

  • 435. 无重叠区间

    盗用labuladong的一个解释,觉得说的挺好的。 什么是贪心算法呢?贪心算法可以认为是动态规划算法的一个特例,...

  • 435. 无重叠区间

    给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 注意: 可以认为区间的终点总是大于它的起点。...

  • 435. 无重叠区间(Python)

    题目 难度:★★★☆☆类型:数组方法:动态规划,贪心算法 力扣链接请移步本题传送门[https://leetcod...

  • 435.无重叠的子区间

    题目方法:2种:1贪心2dp,其中贪心的效率更高 贪心思路:把空间按照终点从小到大排序,这是因为结尾越小,留给后续...

  • lintcode 插入空间

    给出一个无重叠的按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你要确保列表中的区间仍然有序且不重叠(如...

  • leetcode 435 无重叠区间

    贪心想了半天,一直想不出完美的要解决条件,只知道要根据起点或终点排序。后来看了答案,原来是用总的区间数量减去没重复...

网友评论

      本文标题:435. 无重叠区间

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