Search
🥉

Minimum Absolute Difference

Created
2021/12/21 10:50
문제 번호
1200
카테고리
Array
Sorting

Code

제출 날짜
시간
메모리
2021/12/21
68 ms
8.3 MB
// 1200. Minimum Absolute Difference // // https://leetcode.com/problems/minimum-absolute-difference/ // To get the minimum difference, sorting is necessary. // Package sort supports the O(nlogn) sorting algorithm. import ( "sort" ) // minimumAbsDifference function finds some pairs of two integer elements which makes the minimum difference of the given array. // The function name implies the absolute value, but only the minimum difference is the hint. // If the array is maintained with the ascending orders, the minimum difference can be found by a loop which calculates the value of the i + 1 th element - the value of the i th element. // When a new difference is smaller than the previous one, make a new slices which holds the the vallue of the i th element, the value of the i + 1 element. // If a difference is as same as the previous one, just append the pair into the original slices. // Repeat to the end of the given array. func minimumAbsDifference(arr []int) [][]int { sort.Ints(arr) result := [][]int{{arr[0], arr[1]}} value := arr[1] - arr[0] for i := 1; i < len(arr)-1; i++ { diff := arr[i+1] - arr[i] if value > diff { value = diff result = [][]int{{arr[i], arr[i+1]}} } else if value == diff { result = append(result, []int{arr[i], arr[i+1]}) } } return result }
Go
복사