16.最接近的三数之和-创新互联-成都创新互联网站建设

关于创新互联

多方位宣传企业产品与服务 突出企业形象

公司简介 公司的服务 荣誉资质 新闻动态 联系我们

16.最接近的三数之和-创新互联

题目

给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。

成都创新互联公司是由多位在大型网络公司、广告设计公司的优秀设计人员和策划人员组成的一个具有丰富经验的团队,其中包括网站策划、网页美工、网站程序员、网页设计师、平面广告设计师、网络营销人员及形象策划。承接:成都做网站、网站设计、网站改版、网页设计制作、网站建设与维护、网络推广、数据库开发,以高性价比制作企业网站、行业门户平台等全方位的服务。

返回这三个数的和。

假定每组输入只存在恰好一个解。

示例 1:

输入:nums = [-1,2,1,-4], target = 1
输出:2
解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。

示例 2:

输入:nums = [0,0,0], target = 1
输出:0

思路

与上一题思路相同,固定第一个数,移后两个数,双指针,比目标值大,右指针左移,比目标值小,左指针右移,直到left大于等于right。

java版
class Solution {public int threeSumClosest(int[] nums, int target) {Arrays.sort(nums);
        int ans = nums[0] + nums[1] + nums[2];
        for(int i=0;iint start = i+1, end = nums.length - 1;
            while(start< end) {int sum = nums[start] + nums[end] + nums[i];
                if(Math.abs(target - sum)< Math.abs(target - ans))
                    ans = sum;
                if(sum >target)
                    end--;
                else if(sum< target)
                    start++;
                else
                    return ans;
            }
        }
        return ans;
    }
}

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


文章名称:16.最接近的三数之和-创新互联
URL分享:http://kswsj.cn/article/dpodhc.html

其他资讯