diff --git a/leetcode/leetcode75/Intervals/435.Non-overlappingIntervals/non-overlappingIntervals.go b/leetcode/leetcode75/Intervals/435.Non-overlappingIntervals/non-overlappingIntervals.go new file mode 100644 index 0000000..e43211d --- /dev/null +++ b/leetcode/leetcode75/Intervals/435.Non-overlappingIntervals/non-overlappingIntervals.go @@ -0,0 +1,26 @@ +package main + +import ( + "fmt" + "sort" +) + +func eraseOverlapIntervals(intervals [][]int) int { + sort.Slice(intervals, func(i, j int) bool { + return intervals[i][1] < intervals[j][1] + }) + temp, cnt := intervals[0][1], 0 + for i := 1; i < len(intervals); i++ { + if intervals[i][0] < temp { + cnt++ + } else { + temp = intervals[i][1] + } + } + return cnt +} + +func main() { + intervals := [][]int{{1, 2}, {2, 3}, {3, 4}, {1, 3}} + fmt.Println(eraseOverlapIntervals(intervals)) +}