From 79c92c471e3f44e60a5a51d5efb9363654a92946 Mon Sep 17 00:00:00 2001 From: Matej Focko Date: Sun, 2 Jun 2024 15:32:53 +0200 Subject: [PATCH] =?UTF-8?q?swift:=20add=20=C2=AB435.=20Non-overlapping=20I?= =?UTF-8?q?ntervals=C2=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Matej Focko --- swift/non-overlapping-intervals.swift | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 swift/non-overlapping-intervals.swift diff --git a/swift/non-overlapping-intervals.swift b/swift/non-overlapping-intervals.swift new file mode 100644 index 0000000..a11bc49 --- /dev/null +++ b/swift/non-overlapping-intervals.swift @@ -0,0 +1,19 @@ +class Solution { + func eraseOverlapIntervals(_ intervals: [[Int]]) -> Int { + let intervals = intervals + .map { ($0[0], $0[1]) } + .sorted { l, r in l.1 < r.1 } + + var lastEnd: Int = .min + var erased = 0 + for (start, end) in intervals { + if start >= lastEnd { + lastEnd = end + } else { + erased += 1 + } + } + + return erased + } +}