16最接近三数合

/**
 * @param {number[]} nums
 * @param {number} target
 * @return {number}
 */
var threeSumClosest = function(nums, target) {
    //先排序找最大值
    nums.sort() 
    let min1 = Math.abs(nums[nums.length - 1]*3) + Math.abs(target)
    let min2 = 0
    for(let i = 0; i < nums.length; i++){
        for(let j = i + 1;j < nums.length; j++){
            for(let k = j + 1;k < nums.length; k++){
                if(Math.abs(nums[i] + nums[j] + nums[k] - target) <= min1){
                    min1 = Math.abs(nums[i] + nums[j] + nums[k] - target)
                    min2 = nums[i] + nums[j] + nums[k]
                }
            }
        }
    }
    return min2
};

猜你喜欢

转载自blog.csdn.net/qq_41199852/article/details/106201513