🥉

# Minimum Absolute Difference

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

### Code

 .css-15tnwsa{max-width:100%;width:100%;white-space:pre-wrap;word-break:break-word;padding:7px 9px;background-color:transparent;font-size:14px;line-height:20px;min-height:1em;}.css-15tnwsa:empty::after{content:" ";}제출 날짜 시간 메모리 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, arr}} value := arr - arr 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