Leetcode 1288. Remove Covered Intervals
题目链接: Remove Covered Intervals
难度:Medium
题目大意:
给出若干个区间的范围,如果一个区间包含于其他区间,则将该区间删除,判断最后还剩多少个区间。
思路:
将区间按照左值从小到大排列,然后遍历这些区间,进行判断。用到双指针。
代码
class Solution {
public int removeCoveredIntervals(int[][] intervals) {
int res=0,left=-1,right=-1;Arrays.sort(intervals,(a,b)->a[0]-b[0]);//将区间按左值从小到大进行排列for(int[] a:intervals){
if(a[0]==left){
if(a[1]>right){
right=a[1];}}else{
if(a[1]>right){
res++;right=a[1];left=a[0];}}}return res;}
}