From e6bc2dd72191c9bb03338001b78e3c120ec88d16 Mon Sep 17 00:00:00 2001 From: Dale Seo <5466341+DaleSeo@users.noreply.github.com> Date: Thu, 10 Sep 2026 22:13:48 -0400 Subject: [PATCH] feat: solve non overlapping intervals --- non-overlapping-intervals/DaleSeo.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 non-overlapping-intervals/DaleSeo.rs diff --git a/non-overlapping-intervals/DaleSeo.rs b/non-overlapping-intervals/DaleSeo.rs new file mode 100644 index 0000000000..2cdaf75395 --- /dev/null +++ b/non-overlapping-intervals/DaleSeo.rs @@ -0,0 +1,17 @@ +// TC: O(n log n) +// SC: O(1) +impl Solution { + pub fn erase_overlap_intervals(mut intervals: Vec>) -> i32 { + intervals.sort_unstable_by_key(|i| i[1]); + let mut removed = 0; + let mut prev_end = i32::MIN; + for interval in &intervals { + if interval[0] >= prev_end { + prev_end = interval[1]; + } else { + removed += 1; + } + } + removed + } +}