Skip to content

Commit f51bed2

Browse files
author
Gonzalo Diaz
committed
[REFACTOR] [Hacker Rank] Interview Preparation Kit: Greedy Algorithms: Minimum Absolute Difference in an Array. Test Case 2 fixed.
1 parent 9d38844 commit f51bed2

File tree

1 file changed

+21
-7
lines changed

1 file changed

+21
-7
lines changed

exercises/hackerrank/interview_preparation_kit/greedy_algorithms/minimum_absolute_difference_in_an_array.go

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,35 @@
55

66
package hackerrank
77

8-
import "slices"
8+
import (
9+
"slices"
10+
)
911

1012
func minimumAbsoluteDifference(arr []int32) int32 {
1113
// Sort the array
12-
arrCopy := make([]int32, len(arr))
14+
sorted_nums := make([]int32, len(arr))
1315

14-
copy(arrCopy, arr)
15-
slices.Sort(arrCopy)
16+
copy(sorted_nums, arr)
17+
slices.Sort(sorted_nums)
1618

1719
// Find the minimum absolute difference
1820
result := int32(0)
19-
for i := range len(arrCopy) - 1 {
20-
diff := arrCopy[i+1] - arrCopy[i]
21-
if diff < result || result == 0 {
21+
var resultEmpty = true
22+
23+
for i := range len(sorted_nums) - 1 {
24+
var a_value = sorted_nums[i]
25+
var b_value = sorted_nums[i+1]
26+
27+
diff := a_value - b_value
28+
if diff < 0 {
29+
diff = -1 * diff
30+
}
31+
32+
if resultEmpty {
2233
result = diff
34+
resultEmpty = false
35+
} else {
36+
result = min(result, diff)
2337
}
2438
}
2539
return result

0 commit comments

Comments
 (0)