Day 41 822. Kth-Pair-Distance
822. Kth-Pair-Distance
题目
1 | |
题目思路
- 题目求的是数组中第 k 小的数对距离。先将数组排序,最大的距离就是数组首尾元素之差,最小的距离当然为 0,在这个范围内二分查找一个合理的值即可。
- 使用二分法,每次取 mid = l + (r - l) / 2,可以降低查找的时间复杂度;如果直接计数枚举所有数对,时间复杂度会达到 O(n^2)。
- 本题也可以从数学的角度考虑:所有距离对一共有 $n(n-1)$ 个,只要大于 mid 的距离对数有 $n(n-1)$ - k 个,即为不合理。(还有些地方没想明白,先放着。)
题目代码
1 | |
复杂度
时间复杂度:O(nlogn)
空间复杂度:O(1)
Day 41 822. Kth-Pair-Distance
https://chaggle.github.io/2021/10/20/leetcode/91-day/day-41-822-kth-pair-distance/