Find K-th Smallest Pair Distance LeetCode solution in C++
1class Solution {2public:3int count(vector<int> &temp, int mid) {4int i = 0, j = 0, n = temp.size();5int len = 0;67while (i < n) {8while (j < n && (temp[j] - temp[i]) <= mid) j++;9len += j - i - 1;10i++;11}12return len;13}14int smallestDistancePair(vector<int> &nums, int k) {15int s = 0, e = 1e6;16int ans = 0;17vector<int> temp = nums;18sort(temp.begin(), temp.end());19while (s <= e) {20int mid = s + (e - s) / 2;2122if (count(temp, mid) >= k) {23ans = mid;24e = mid - 1;25} else {26s = mid + 1;27}28}29return ans;30}31};