Find K Closest Elements


Note that space complexity of a.subList may be O(1) because subList is done inplace when supported by the implementation, returning a "view" over the original list, as explained in the List interface spec. For example, if you look at the ArrayList implementation and its SubList private class.

class Solution { public: vector<int> findClosestElements(vector<int>& arr, int k, int x) { auto h = arr.size()  k; auto l = 0; while (l < h) { auto mid = (l + h) / 2; if (abs(arr[mid]  x) <= abs(arr[k + mid]  x)) { h = mid; } else { l = mid + 1; } } vector<int> rst(arr.begin() + h, arr.begin() + h + k); return rst; } };
I think my solution is O(log(n)) in search phase

@Albert_G The problem says "array" five times. And the variable is called
arr
. I think it's fair to assume that it's an array.