Non-overlapping Intervals (Leetcode 435)

Similar to Merge Intervals

Problem Link: https://leetcode.com/problems/non-overlapping-intervals/

class Solution:
    def eraseOverlapIntervals(self, intervals: List[List[int]]) -> int:
        
        n=len(intervals)
        ans=0
        s=[]
        intervals.sort(key=lambda x:x[0])
        s.append(intervals[0])
        for i in range(1,n):
            if(s[-1][1]>intervals[i][0]):
                ans+=1
                # Remove the interval which has
                # the longest end
                if(s[-1][1]>intervals[i][1]):
                    s.pop()
                    s.append(intervals[i])
                else:
                    continue
            
            else:
                s.append(intervals[i])
        
        return ans  

Last updated