算法题(5)

简介: 算法题(5)

题目

最接近的三数之和
给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。
返回这三个数的和。
假定每组输入只存在恰好一个解。
https://leetcode.cn/problems/3sum-closest/description/

解题

暴力解法

var threeSumClosest = function(nums, target) {
   
    let sum =nums[0]+nums[1]+nums[2];
    let diffValue =Math.abs(nums[0]+nums[1]+nums[2]-target);
    for(let i=0;i<nums.length-2;i++){
   
        for(let j=i+1;j<nums.length-1;j++){
   
            for(let k=j+1;k<nums.length;k++){
   
                if(diffValue > Math.abs(nums[i]+nums[j]+nums[k]-target)){
   
                    diffValue = Math.abs(nums[i]+nums[j]+nums[k]-target);
                    sum=nums[i]+nums[j]+nums[k];
                }
            }
        }
    }
    return sum;
};

2.排序+双指针(注意点:sort排序默认字符串排序)

nums.sort(function(a,b){
   return a-b});
    let diffValue = Math.abs(nums[0]+nums[1]+nums[2]-target);
    let sum = nums[0]+nums[1]+nums[2];
    for(let i=0;i<nums.length-2;i++){
   
        let start = i+1;
        let end=nums.length-1;
        while(start<end){
   
            let current = nums[i]+nums[start]+nums[end];
            if(Math.abs(current-target)<diffValue){
   
                diffValue = Math.abs(current-target);
                sum=current;
            }
            if(current>target){
   
                end--;
            }else if(current<target){
   
                start++;
            }else{
   
                return target;
            }
        }
    }
    return sum;
相关文章
|
4月前
|
算法
算法题(4)
算法题(4)
63 6
|
8月前
|
算法 定位技术
Hello 算法
Hello 算法
242 0
|
算法
转:johnson算法的现实意义
Johnson算法是一种用于解决边数与节点数之间关系为O(n^2)的带权图的最短路径问题的算法。它是一种结合了Dijkstra算法和Bellman-Ford算法的技术,通过使用一个负权重的环检测器来消除负权重的影响。这种算法的时间复杂度为O(n^2+m log n)。
152 1
|
算法 索引
插值查找算法
插值查找算法
|
存储 机器学习/深度学习 人工智能
秒懂算法 | 分块算法
本篇内容包括了分块算法的思想的介绍、分块算法复杂度的分析以及相关例题。
380 0
秒懂算法 | 分块算法
|
机器学习/深度学习 人工智能 算法
秒懂算法 | 莫队算法
本篇介绍了莫队算法的几何意义、基本莫队、带修改莫队以及树上莫队的相关内容。
478 0
|
算法
BWT算法
BWT算法
270 0
BWT算法
|
算法
A*算法
A*算法
250 0
A*算法
|
算法 索引
紫书之子集生成三种算法
紫书之子集生成三种算法
紫书之子集生成三种算法
|
机器学习/深度学习 算法 搜索推荐
C#算法大全(下)
今天有人想让我搞一期C#算法大全。算法就算法,安排上!

热门文章

最新文章