1
class Solution {
2
public int[] getStrongest(int[] arr, int k) {
3
int[] result = new int[k];
4
int n = arr.length, left = 0, right = n - 1, idx = 0;
5
Arrays.sort(arr);
6
int median = arr[(n - 1) / 2];
7
while (left <= right) {
8
int diff_l = Math.abs(arr[left] - median);
9
int diff_r = Math.abs(arr[right] - median);
10

11
if (diff_r > diff_l) result[idx++] = arr[right--];
12
else if (diff_l > diff_r) result[idx++] = arr[left++];
13
else if (arr[right] > arr[left]) result[idx++] = arr[right--];
14
else result[idx++] = arr[left++];
15
if (idx == k) break;
16
}
17
return result;
18
}
19
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0