首页 > 其他分享 >16. 最接近的三数之和

16. 最接近的三数之和

时间:2023-03-02 21:07:05浏览次数:37  
标签:target nums int 三数 sum 16 ans 接近

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

 

示例:

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

class Solution {
    public int threeSumClosest(int[] nums, int target) {
        /**
        还是双指针 做三数之和的做法, 
        稍微不同的是 要试每一个值 维护一个ans  记录三个数之和,记录ans里面最小值
         */
        
        Arrays.sort(nums);
        int ans=nums[0]+nums[1]+nums[2];
         for(int i=0;i<nums.length;i++){
               int left=i+1,right=nums.length-1;
            while(left<right){
                int sum=nums[i]+nums[left]+nums[right];
                if(Math.abs(target-ans)>(Math.abs(target-sum))){
                    ans=sum;
                }
                if(sum>target){
                    right--;
                }else if(sum<target){
                    left++;
                }else if(sum==target){
                    return sum;
                }

           }
         
         }
           return ans;
       
    }
}

 

标签:target,nums,int,三数,sum,16,ans,接近
From: https://blog.51cto.com/u_14689911/6096735

相关文章

  • 校验和算法 rd16
    randdigest16bitconstmodulus16=256*256;constrd16=t=>{letbuf=Buffer.isBuffer(t)?t:Buffer.from(t);letp=Math.floor(buf.length/......
  • 16进制颜色转RGB模式带透明度
    functiontoColorRgba(color,opacity){//16进制颜色值的正则varreg=/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;//把颜色变成小写varcolor=col......
  • pat乙级1016 部分A+B
    #include<stdio.h>#include<stdlib.h>#include<string.h>#include<math.h>intmain(){intcounta=0,countb=0;intpa=0,pb=0;chara[10],......
  • 16.设置允许跨域
      @ConfigurationpublicclassBianenCorsConfiguration{@BeanpublicCorsWebFiltercorsWebFilter(){UrlBasedCorsConfigurationSourcesour......
  • 自适应均衡matlab仿真,对比RLS,LMS以及NLMS的均衡前后星座图效果,调制采用4QAM,16QAM,
    1.算法描述       在无线通信系统中,由于多径效应及码间干扰的存在,信号误码率会升高。均衡技术是一种对抗码间干扰的重要技术。本文将介绍LMS均衡和RLS均衡两种均衡......
  • EDU-CFR-116-Div-2解题报告
    比赛传送门做出来五道题。A.ABBalance{%noteinfono-iconproblem%}给你一个只含有a和b的字符串,问怎样通过修改尽可能少的字符,使得ab的数量和ba的数量相......
  • 扩容ext4分区容量16TB限制
    #扩容ext4分区容量16TB限制环境:系统ubuntu16resize2fs1.42.13(17-May-2015)使用resize2fs扩容时如下提示resize2fs/dev/vdb1resize2fs1.42.13(17-May-2015......
  • 算法刷题-查找组成一个偶数最接近的两个素数-JAVA
    0x00引言为获取一个良好的算法思维,以及不再成为一个脚本小子,争取每天一道算法题,培养自己的逻辑思维,温顾各类型语言语法知识。题解只写自己理解的解法,其他解法不再增加。......
  • 力扣216 组合综合3
    题目:找出所有相加之和为n的k个数的组合,且满足下列条件:只使用数字1到9每个数字最多使用一次返回所有可能的有效组合的列表。该列表不能包含相同的组合两......
  • BUUctf pwn1_sctf_2016 nc尝试
    BUUctfpwn1_sctf_2016file,发现文件是32位elfchecksec,发现文件开启了NX保护,NX指的是NoExcute(禁止运行)IDA查看函数,发现main()调用了vuln(),而且存在一个get_flag函数,地......