zoukankan      html  css  js  c++  java
  • LeetCode16.最接近的三数之和 JavaScript

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

    例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.
    
    与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).

    答案参考
    /**
     * @param {number[]} nums
     * @param {number} target
     * @return {number}
     */
    var threeSumClosest = function(nums, target) {
                nums=nums.sort(function(a,b){return a-b})
                var i=0;
                var num=nums[0]+nums[1]+nums[2];
                var and=num
                for(var i=0;i<nums.length-2;i++){//和三数之和一样,我先用的while循环,现在用的
                                                 //for循环
                    var k=nums.length-1            
                    for(var j=i+1;j<nums.length-1&&j!=k;){
                        sum=nums[i]+nums[j]+nums[k];
                        if(Math.abs(target-sum)<=Math.abs(target-and)){
                                and=sum
                                num=Math.abs(target-sum)
                        }
                        if(target-sum>0){
                            j++;                        
                        }
                        else{
                            k--
                        }                
                    }
                }
                return and
    
    };
  • 相关阅读:
    SQL实战(四)
    SQL实战(三)
    SQL实战(二)
    数据库SQL实战(一)
    算法(二)——背包问题
    华为机试(五)
    算法(一)
    华为机试练习(四)
    华为往年机试题目(三)
    T分布(T-Distribution)
  • 原文地址:https://www.cnblogs.com/lhh520/p/10294009.html
Copyright © 2011-2022 走看看