题解 | #最接近的三数之和#

最接近的三数之和

https://www.nowcoder.com/practice/f889497fd1134af5af9de60b4d13af23

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param nums int整型一维数组 
 * @param target int整型 
 * @return int整型
 */
function ClosestSum( nums ,  target ) {
    // write code here
    // 先组合
    let count ;
    let len = nums.length;
    let fun = function fun(n,m,arr,result=[]){
        for(let i = n;i>=m;i--){
            result[m-1] = arr[i-1]
            if(m>1){
                fun(i-1,m-1,arr,result)
            }
            let sk = result.reduce((pre,next)=>pre+next);
            if(count===undefined){
                count=sk
            }else{
			//找出绝对值最小的值
                if(Math.abs(target - sk )<Math.abs(target - count )){
                    count = sk
                }
            }
                
            
        }

    }
    fun(len,3,nums);
    return count

}
module.exports = {
    ClosestSum : ClosestSum
};

全部评论

相关推荐

求求要我吧:你教育经历放在下面干什么,而且27届还是28届啊()另外看你简历有两面,通常来说投递运营岗位一面简历就够了。另外个人总结要写也放在简历最下面,然后你奖项那里是2019年的哇哈哈,那你究竟投递的是社招还是实习?实习的话你是第几届是肯定要写出来的,社招的话你这个工作经历又太短太花了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务