分别比较数组第一个和最后一个数与x的距离,删掉与x差距较大的一项,直到数组剩下k个数。
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型ArrayList
* @param k int整型
* @param x int整型
* @return int整型ArrayList
*/
public ArrayList<Integer> closestElement (ArrayList<Integer> nums, int k,
int x) {
// write code here
int len = nums.size();
if(len <= k) return nums;
for(int i = len; i > k; i--){
if( x - nums.get(0) <= nums.get(len - 1) - x){
nums.remove(len - 1);
}else{
nums.remove(0);
}
len --;
}
return nums;
}
}

京公网安备 11010502036488号