题目:原题链接(中等)
标签:数组、排序
解法 | 时间复杂度 | 空间复杂度 | 执行用时 |
---|---|---|---|
Ans 1 (Python) | O ( N l o g N ) O(NlogN) O(NlogN) | O ( N ) O(N) O(N) | 460ms (27%) |
Ans 2 (Python) | |||
Ans 3 (Python) |
解法一:
class Solution:
def getStrongest(self, arr: List[int], k: int) -> List[int]:
arr.sort()
size = len(arr)
mid = arr[int((size - 1) / 2)]
# if size % 2 == 0:
# mid = (arr[size // 2 - 1] + arr[size // 2]) / 2
# else:
# mid = arr[size // 2]
arr.sort(key=lambda x: (abs(x - mid), x))
# print(mid, arr)
return arr[-k:]