Cho danh sách nums, chia thành hai phần bằng nhau sao cho độ chênh lệch tuyệt đối giữa hai trung vị là nhỏ nhất. Độ dài nums chia 2 là số lẻ.
Ví dụ
Đầu vào: [2, 10, 8, 5, 4, 7].
Đầu ra: 2 (chia thành [2,5,10] và [4,7,8], trung vị 5 và 7, chênh 2).
Thuật toán
- Sắp xếp
nums. m = len(nums) // 2.- Trả về
abs(nums[m] - nums[m-1]).
Mã nguồn Python
class Solution:
def solve(self, nums):
nums.sort()
m = len(nums) // 2
return abs(nums[m] - nums[m-1])
ob = Solution()
print(ob.solve([2, 10, 8, 5, 4, 7]))
Đầu vào / Đầu ra
Input: [2, 10, 8, 5, 4, 7]
Output: 2