Remove Covered Intervals (Leetcode 1288)
Problem Link: https://leetcode.com/problems/remove-covered-intervals/
class Solution:
def removeCoveredIntervals(self, intervals: List[List[int]]) -> int:
# Sort the intervals based on left indices
# If there is a tie, sort the right indices
# in descending order.
# This makes sure the largest intervals are
# on the beginning.
# -x[1] indicates sorting in desc order if
# there is a tie on the left index
intervals.sort(key=lambda x: (x[0], -x[1]))
n=len(intervals)
s=[]
s.append(intervals[0])
for i in range(1,n):
if(s[-1][0]<=intervals[i][0] and s[-1][1]>=intervals[i][1]):
continue
else:
s.append(intervals[i])
return len(s)
Last updated