Java中等题-无重叠区间(力扣)
创始人
2024-11-13 06:10:54
0

给定一个区间的集合 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 解释: 你不需要移除任何区间,因为它们已经是无重叠的了。

方法一:(可能会导致超时)使用动态规划

先将原数组按照左端点排序,用一个数组f[i]表示以第i个区间为最后一个区间的最多的不重叠区间个数。

class Solution {     public int eraseOverlapIntervals(int[][] intervals) {         if (intervals.length == 0) {             return 0;         }                  Arrays.sort(intervals, new Comparator() {             public int compare(int[] interval1, int[] interval2) {                 return interval1[0] - interval2[0];             }         });          int n = intervals.length;         int[] f = new int[n];         Arrays.fill(f, 1);         for (int i = 1; i < n; ++i) {             for (int j = 0; j < i; ++j) {                 if (intervals[j][1] <= intervals[i][0]) {                     f[i] = Math.max(f[i], f[j] + 1);                 }             }         }         return n - Arrays.stream(f).max().getAsInt();     } }  作者:力扣官方题解 链接:https://leetcode.cn/problems/non-overlapping-intervals/solutions/541543/wu-zhong-die-qu-jian-by-leetcode-solutio-cpsb/ 来源:力扣(LeetCode) 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

方法二:使用贪心算法

先将原数组按照右端点排序, 设第一个区间为满足不重叠条件的最后一个区间,然后从第一个区间开始往后移动,如果后面的区间不与这个区间重叠,就把后一个区间作为满足不重叠条件的最后一个区间。

class Solution {     public int eraseOverlapIntervals(int[][] intervals) {         int n=intervals.length;         if(n==0){             return 0;         }         Arrays.sort(intervals, new Comparator() {             @Override             public int compare(int[] intervals1, int[] intervals2) {                 return intervals1[1]-intervals2[1];             }         });          int ans=1;         int right=intervals[0][1];         for(int i=1;i=right){                 right=intervals[i][1];                 ans++;             }         }         return n-ans;      } }

 

相关内容

热门资讯

分享一款!!闲来软件辅助,we... 分享一款!!闲来软件辅助,werplan有挂吗,课程教程(有挂秘笈)-哔哩哔哩1、分享一款!!闲来软...
必备透视!来玩app破解版,h... 必备透视!来玩app破解版,hhpoker辅助挂是真的吗,绝活教程(有挂功能)-哔哩哔哩1)hhpo...
据目击者称!金虎爷有挂吗(辅助... 据目击者称!金虎爷有挂吗(辅助)一直真的有辅助下载(有挂秘诀)-哔哩哔哩1、完成金虎爷有挂吗有辅助插...
普及透视!hardrock透视... 普及透视!hardrock透视工具!本来真的是有辅助软件(有挂规律)-哔哩哔哩1、上手简单,内置详细...
曝光透视!wepoker辅助器... 曝光透视!wepoker辅助器官方,we-poker正规吗,机巧教程(新版有挂)-哔哩哔哩1、每一步...
据监测!新玄龙辅助(辅助)真是... 据监测!新玄龙辅助(辅助)真是有挂辅助神器(有挂透明挂)-哔哩哔哩1、点击下载安装,新玄龙辅助脚本分...
推荐十款!心悦游戏填坑辅助器,... 推荐十款!心悦游戏填坑辅助器,拱趴大菠萝开挂方法,法子教程(证实有挂)-哔哩哔哩拱趴大菠萝开挂方法辅...
科普透视!德州透视插件!原来是... 科普透视!德州透视插件!原来是有辅助技巧(有挂工具)-哔哩哔哩1、点击下载安装,德州透视插件脚本分类...
关于透视!wepoker私人局... 关于透视!wepoker私人局透视方法,wepoker私人局开挂视频,教材教程(有挂细节)-哔哩哔哩...
在玩家背景下!友间十三道有什么... 在玩家背景下!友间十三道有什么窍门(辅助)都是真的是有辅助插件(证实有挂)-哔哩哔哩1、金币登录送、...