From 893cd2824aca546bd8f17e6d86a82c5f37fbf4c9 Mon Sep 17 00:00:00 2001 From: Ashing Zheng Date: Sun, 4 Feb 2024 00:37:36 +0800 Subject: [PATCH] feat: 1619. Mean of Array After Removing Some Elements (#71) Signed-off-by: ashing --- ...n of Array After Removing Some Elements.go | 13 ++++++++ ...Array After Removing Some Elements_test.go | 31 +++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 leetcode/1619/1619. Mean of Array After Removing Some Elements.go create mode 100644 leetcode/1619/1619. Mean of Array After Removing Some Elements_test.go diff --git a/leetcode/1619/1619. Mean of Array After Removing Some Elements.go b/leetcode/1619/1619. Mean of Array After Removing Some Elements.go new file mode 100644 index 0000000..8b768de --- /dev/null +++ b/leetcode/1619/1619. Mean of Array After Removing Some Elements.go @@ -0,0 +1,13 @@ +package _619 + +import "sort" + +func trimMean(arr []int) float64 { + sort.Ints(arr) + n := len(arr) + sum := 0 + for _, x := range arr[n/20 : 19*n/20] { + sum += x + } + return float64(sum*10) / float64(n*9) +} diff --git a/leetcode/1619/1619. Mean of Array After Removing Some Elements_test.go b/leetcode/1619/1619. Mean of Array After Removing Some Elements_test.go new file mode 100644 index 0000000..7da9fc6 --- /dev/null +++ b/leetcode/1619/1619. Mean of Array After Removing Some Elements_test.go @@ -0,0 +1,31 @@ +package _619 + +import ( + "testing" +) + +func Test_trimMean(t *testing.T) { + type args struct { + arr []int + } + tests := []struct { + name string + args args + want float64 + }{ + { + name: "one", + args: args{ + []int{1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3}, + }, + want: 2.00000, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + if got := trimMean(tt.args.arr); got != tt.want { + t.Errorf("trimMean() = %v, want %v", got, tt.want) + } + }) + } +}