题目:
代码(首刷自解 2024年4月8日):
class Solution {
public:
vector<int> findClosestElements(vector<int>& arr, int k, int x) {
// 数组两边指针向中
int left = 0, right = arr.size() - 1;
// k = right + 1 - left
while (right + 1 - left > k) {
// 比较距离,距离大的移动
if (x - arr[left] > arr[right] - x) {
left++;
} else {
right--;
}
}
vector<int> res(arr.begin() + left, arr.begin() + right + 1);
return res;
}
};