Find K-th Smallest Pair Distance LeetCode solution in Python

1
from heapq import heappush, heappop, heapify
2

3

4
class Solution:
5
def smallestDistancePair(self, nums: List[int], k: int) -> int:
6
# pairs = list(combinations(nums, 2))
7

8
maxHeap = []
9
heapify(maxHeap)
10

11
for idx, val1 in enumerate(nums):
12
for val2 in nums[idx + 1 :]:
13
pair = [val1, val2]
14
heappush(maxHeap, [-1 * abs(pair[0] - pair[1]), pair])
15
if len(maxHeap) > k:
16
heappop(maxHeap)
17

18
return -1 * maxHeap[0][0]

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0