3774. Absolute Difference Between Maximum and Minimum K Elements
SourceWeekly Contest 480 Q1DifficultyEasyRating1206
Description
You are given an integer array nums and an integer k.
Find the absolute difference between:
- the sum of the
klargest elements in the array; and - the sum of the
ksmallest elements in the array.
Return an integer denoting this difference.
Example 1:
Input: nums = [5,2,2,4], k = 2
Output: 5
Explanation:
- The
k = 2largest elements are 4 and 5. Their sum is4 + 5 = 9. - The
k = 2smallest elements are 2 and 2. Their sum is2 + 2 = 4. - The absolute difference is
abs(9 - 4) = 5.
Example 2:
Input: nums = [100], k = 1
Output: 0
Explanation:
- The largest element is 100.
- The smallest element is 100.
- The absolute difference is
abs(100 - 100) = 0.
Constraints:
1 <= n == nums.length <= 1001 <= nums[i] <= 1001 <= k <= n
Solutions
Solution 1: Sorting
Thinking
The gap between the sum of the \(k\) largest and the \(k\) smallest values is, after sorting, the last \(k\) entries minus the first \(k\). With \(n\le 100\) a full sort is enough.
We first sort the array \(\textit{nums}\). Then we calculate the sum of the first \(k\) elements and the sum of the last \(k\) elements in the array, and finally return the difference between them.
The time complexity is \(O(n \times \log n)\), and the space complexity is \(O(\log n)\), where \(n\) is the length of the array \(\textit{nums}\).
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 11 | |
1 2 3 4 5 6 7 8 9 10 11 12 | |
1 2 3 4 5 6 7 | |
1 2 3 4 5 6 7 8 | |