leetcode:最接近的三数之和---(双指针,排序,数组)

题目:

给你一个长度为 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

提示:

3 <= nums.length <= 1000

-1000 <= nums[i] <= 1000

-104 <= target <= 104

代码:

java 复制代码
class Solution {
    public int threeSumClosest(int[] nums, int target) {
        
     Arrays.sort(nums);
        int a,b,c;
        int res=Integer.MAX_VALUE;//target<=10000
        int sum=0;
        for(int i=0;i<nums.length;i++){
            //枚举a,//b,c 双指针
            a=i;
            b=i+1;
            c=nums.length-1;
            while(b<c){
                sum=nums[a]+nums[b]+nums[c];
                if(Math.abs(sum-target)<Math.abs(res-target)){
                    res=sum;
                }
                if(sum>target){
                    c--;
                }else if(sum<target){
                    b++;
                }
                else{
                    return target;
                }
                
            }
        }

        return res;
    }
}

运行结果:

相关推荐
怕浪猫几秒前
AI Agent 的安全怎么保障?面试最后一关的终极问题
算法·面试·github
晓德10 分钟前
7、LLM 模型是怎么训练生成的?(4)指令微调
人工智能·学习·算法·信息安全
汤姆yu13 分钟前
基于springboot+vue的企业OA办公系统
java·spring boot·后端·oa办公
南归北隐18 分钟前
Spring AI Alibaba Graph框架实现RAG私有知识库问答
java·后端·spring·spring ai·java rag实现
启观川23 分钟前
数据结构与算法 -第 3 章 常用算法-回溯算法
数据结构·笔记·python·算法
零基础12328 分钟前
LLM4AD:面向算法设计的大语言模型智能体框架
人工智能·算法·语言模型
从琳开始98931 分钟前
[JavaEE]多线程初阶(下篇)------多线程案例(单例模式,阻塞队列,线程池,定时器)
java·单例模式·java-ee
乌暮35 分钟前
# Spring 入门与 Spring MVC 实战指南:从零理解 IoC 到 RESTful 图书管理
java·开发语言·后端·学习·spring·mvc·restful
java1234_小锋37 分钟前
Spring Boot 4.0 官宣:弃用 Undertow
java·spring boot·后端
jyOverQ40 分钟前
Redis 主从复制、Sentinel 和 Cluster 到底有什么区别?
java·redis·sentinel