LeetCode -- 16. 最接近的三数之和

90 阅读1分钟

给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。

    public int threeSumClosest(int[] nums, int target) {
        int a = 1000;
        int b = 0;
        for(int i = 0;i < nums.length-2;i++){
            for(int j = i+1;j < nums.length-1;j++){
                for(int k = j+1;k < nums.length;k++){
                    if(nums[i] + nums[j] +nums[k] == target){
                        return nums[i] + nums[j] +nums[k];
                    }
                    
                    if(Math.abs((nums[i] + nums[j] +nums[k])- target )<a){
                        a = Math.abs((nums[i] + nums[j] +nums[k])- target );
                        b =nums[i] + nums[j] +nums[k];
                    }
                }
            }
        }
        return b;
    }
}