From 790e256127f69efec2ce82f18bae2725115b1c69 Mon Sep 17 00:00:00 2001 From: Prad Nukala Date: Wed, 30 Sep 2026 15:17:35 -0400 Subject: [PATCH] feat(work): add solution stub for LeetCode 435 Non-overlapping Intervals --- .../Array/435.non-overlapping-intervals.py | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 work/1/Medium/Array/435.non-overlapping-intervals.py diff --git a/work/1/Medium/Array/435.non-overlapping-intervals.py b/work/1/Medium/Array/435.non-overlapping-intervals.py new file mode 100644 index 0000000..91c8b79 --- /dev/null +++ b/work/1/Medium/Array/435.non-overlapping-intervals.py @@ -0,0 +1,51 @@ +""" +435. Non-overlapping Intervals +Difficulty: Medium +https://leetcode.com/problems/non-overlapping-intervals/ + +────────────────────────────────────────────────── + +Given an array of intervals intervals where intervals[i] = [starti, +endi], return the minimum number of intervals you need to remove to +make the rest of the intervals non-overlapping. + +Note that intervals which only touch at a point are non-overlapping. +For example, [1, 2] and [2, 3] are non-overlapping. + + + +Example 1: + +Input: intervals = [[1,2],[2,3],[3,4],[1,3]] +Output: 1 +Explanation: [1,3] can be removed and the rest of the intervals are +non-overlapping. + +Example 2: + +Input: intervals = [[1,2],[1,2],[1,2]] +Output: 2 +Explanation: You need to remove two [1,2] to make the rest of the +intervals non-overlapping. + +Example 3: + +Input: intervals = [[1,2],[2,3]] +Output: 0 +Explanation: You don't need to remove any of the intervals since +they're already non-overlapping. + + + +Constraints: + + • 1 <= intervals.length <= 10^5 + + • intervals[i].length == 2 + + • -5 * 10^4 <= starti < endi <= 5 * 10^4 +""" + +class Solution: + def eraseOverlapIntervals(self, intervals: list[list[int]]) -> int: +