分别比较数组第一个和最后一个数与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;
    }
}