我们专注攀枝花网站设计 攀枝花网站制作 攀枝花网站建设
成都网站建设公司服务热线:400-028-6601

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

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.最接近的三数之和-创新互联
转载来于:http://shouzuofang.com/article/dpodhc.html

其他资讯