From 0ecbab6147cd8968f0d7ca1b7c34eb04b5cb8b64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Khoa=20Hu=E1=BB=B3nh=20=28Daniel=29?= Date: Sun, 17 Mar 2024 23:26:08 +0700 Subject: [PATCH] Create main.go --- solution/57/main.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 solution/57/main.go diff --git a/solution/57/main.go b/solution/57/main.go new file mode 100644 index 0000000..92bf47e --- /dev/null +++ b/solution/57/main.go @@ -0,0 +1,16 @@ +package main + +func insert(intervals [][]int, new []int) [][]int { + n := len(intervals) + i := sort.Search(n, func(i int) bool { return intervals[i][0] > new[0] }) + j := sort.Search(n, func(j int) bool { return intervals[j][1] > new[1] }) + if i >= 1 && new[0] <= intervals[i-1][1] { + new[0] = intervals[i-1][0] + i-- + } + if j < n && new[1] >= intervals[j][0] { + new[1] = intervals[j][1] + j++ + } + return append(intervals[:i], append([][]int{new}, intervals[j:]...)...) +}