nums라는 숫자 목록이 있다고 가정하고 각 목록의 중앙값 간의 절대 차이가 가능한 한 작은 동일한 크기의 두 부분으로 나누어야 하며 이 차이를 찾아야 합니다. 여기서 nums / 2의 길이는 홀수임을 명심해야 합니다.
따라서 입력이 [2, 10, 8, 5, 4, 7]과 같으면 출력은 [2,5,10] 및 [4,7,8]과 같은 두 개의 목록을 만들 수 있으므로 2가 됩니다. , 중앙값은 5와 7이고 차이는 2입니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- 목록 번호 정렬
- m :=nums/2 크기의 몫
- 반환 |숫자[m] - 숫자[m-1]|
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예시
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]))
입력
[2, 10, 8, 5, 4, 7]
출력
2