Leetcode658. 找到 K 个最接近的元素 -春招冲刺

题目:

Leetcode658. 找到 K 个最接近的元素 -春招冲刺_第1张图片


代码(首刷自解 2024年4月8日):

class Solution {
public:
    vector findClosestElements(vector& 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 res(arr.begin() + left, arr.begin() + right + 1);
        return res;
    }
};

你可能感兴趣的:(#,leetcode,---medium,算法)