658. Find K Closest Elements

网友投稿 549 2022-11-11

658. Find K Closest Elements

658. Find K Closest Elements

Given a sorted array, two integers k and x, find the k closest elements to x in the array. The result should also be sorted in ascending order. If there is a tie, the smaller elements are always preferred.

Example 1:

Input: [1,2,3,4,5], k=4, x=3Output: [1,2,3,4]

Example 2:

Input: [1,2,3,4,5], k=4, x=-1Output: [1,2,3,4]

Note: The value k is positive and will always be smaller than the length of the sorted array. Length of the given array is positive and will not exceed 104 Absolute value of elements in the array and x will not exceed 104

UPDATE (2017/9/19): The arr parameter had been changed to an array of integers (instead of a list of integers). Please reload the code definition to get the latest changes.

class Solution { public List findClosestElements(int[] arr, int k, int x) { final List ans = Arrays.stream(arr).boxed().sorted(Comparator.comparingInt(a -> Math.abs(a - x))).collect(Collectors.toList()); Collections.sort(ans.subList(0, k)); return ans.subList(0, k); }}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:692. Top K Frequent Words
下一篇:655. Print Binary Tree
相关文章

 发表评论

暂时没有评论,来抢沙发吧~