From bcabf01c65b1068d7c7a3adf455ccbafec182fb4 Mon Sep 17 00:00:00 2001 From: Matej Focko Date: Wed, 3 Jul 2024 09:57:36 +0200 Subject: [PATCH] =?UTF-8?q?go:=20add=20=C2=AB1509.=20Minimum=20Difference?= =?UTF-8?q?=20Between=20Largest=20and=20Smallest=20Value=20in=20Three=20Mo?= =?UTF-8?q?ves=C2=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Matej Focko --- ...argest-and-smallest-value-in-three-moves.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 go/minimum-difference-between-largest-and-smallest-value-in-three-moves.go diff --git a/go/minimum-difference-between-largest-and-smallest-value-in-three-moves.go b/go/minimum-difference-between-largest-and-smallest-value-in-three-moves.go new file mode 100644 index 0000000..50e34b4 --- /dev/null +++ b/go/minimum-difference-between-largest-and-smallest-value-in-three-moves.go @@ -0,0 +1,18 @@ +package main + +import "slices" + +func minDifference(nums []int) int { + if len(nums) <= 4 { + return 0 + } + + slices.Sort(nums) + + diff := nums[len(nums)-1] - nums[0] + for i := 0; i < 4; i++ { + diff = min(diff, nums[len(nums)-4+i]-nums[i]) + } + + return diff +}