LeetCode-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

提示:

  • 3 <= nums.length <="1000</code"><!--=-->
  • -1000 <= nums[i] <="1000</code"><!--=-->
  • -104 <= target <="104</code"><!--=-->

相似题目

题解分析

class Solution {
    public int threeSumClosest(int[] nums, int target) {
        int minans = Integer.MAX_VALUE;
        int ans = 0;
        int len = nums.length;
        Arrays.sort(nums);// 对数组进行排序
        for(int a = 0; a leave){
                    if(Math.abs(target - nums[a] - nums[b] - nums[c]) < minans){
                        minans = Math.abs(target - nums[a] - nums[b] - nums[c]);
                        ans = nums[a] + nums[b] + nums[c];
                    }
                    c--;
                }

                if(b == c){
                    break;
                }

                if(Math.abs(target - nums[a] - nums[b] - nums[c]) < minans){
                    minans = Math.abs(target - nums[a] - nums[b] - nums[c]);
                    ans = nums[a] + nums[b] + nums[c];
                }
            }
        }
        return ans;
    }
}

Original: https://www.cnblogs.com/GarrettWale/p/16103675.html
Author: Garrett_Wale
Title: LeetCode-16. 最接近的三数之和

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/583194/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Linux三剑客命令—sed

    一、概念说明 官方概念说明: stream editor for filtering and transforming text字符流过滤器编辑和文本字符流转换工具 [En] Ch…

    Linux 2023年5月27日
    0130
  • 【Example】C++ Vector 内存预分配的良好习惯

    为什么要对 Vector 进行内存预分配? 1,Vector 本身是一个内存只会增长不会减小的容器。 2,Vector 存在 size 和 capacity 两种计数,size 即…

    Linux 2023年6月13日
    0108
  • SpringBoot学习笔记——Redis Template

    Springboot可以通过redis template和redis进行交互,使用方法如下 可以参考这个系列的文章: 【快学springboot】11.整合redis实现sessi…

    Linux 2023年5月28日
    0104
  • Linux三剑客命令—awk

    一、概念说明 官方概念说明: gawk – pattern scanning and processing language模式扫描和处理文件语言 AWK 是一种处理文…

    Linux 2023年5月27日
    099
  • WEB自动化-02-Cypress 安装

    2 Cypress 安装 2.1 安装要求 2.1.1 系统要求 在操作系统满足以下要求时,才能进行安装,具体要求如下所示: MacOS 10.9+(仅支持64位版本) Linux…

    Linux 2023年6月7日
    0109
  • C语言课堂–现代编译环境搭建[2020年7月]

    看过了很多专家吐槽目前的大学c语言教学问题多多: 教材难懂,消磨了学生的兴趣; 环境老旧,都2020了还有在用VC6甚至TurboC 2.0,语法不规范。 轮到自己上课,心想可不能…

    Linux 2023年6月7日
    0113
  • PyTorch 介绍 | LEARN THE BASICS

    大多数机器学习流程都包括数据、创建模型、优化模型参数,以及保存训练模型工作。该教程向你介绍一个在PyTorch上实现的完整的机器学习工作流,并提供了了解这些概念详细信息的链接。 我…

    Linux 2023年6月16日
    0150
  • redis中setbit的用法

    原文地址:http://www.zhihu.com/question/27672245 在redis中,存储的字符串都是以二级制的进行存在的。举例:设置一个 key-value ,…

    Linux 2023年5月28日
    096
  • Linux 查看运行中进程的 umask

    线上某台虚机因为故障重装了系统(基线 CentOS 6.9 内核 2.6.x),重新部署了应用。这个应用会生成一个文件,到NFS挂载目录。 而这个 NFS 挂载目录是一个 FTP …

    Linux 2023年5月27日
    0160
  • Ubuntu无法telnet

    (1)/etc/hosts被修改过 (2)防火墙没有关闭 (3)没有安装相关服务 (4)/etc/inetd.conf文件没有telnet相关内容 (1)把/etc/hosts文件…

    Linux 2023年6月8日
    0101
  • redis的事务不是原子性

    Reference: https://blog.csdn.net/u011692780/article/details/81213010 一、事务的四大特性 关系型数据库的事务具有…

    Linux 2023年5月28日
    097
  • [云原生]Kubernetes-集群搭建(第2章)

    一、前置知识点 二、kubeadm部署方式介绍 三、安装要求 四、最终目标 五、准备环境 六、环境初始化 6.1 设置系统主机名以及Hosts文件的相互解析 6.2 安装依赖文件(…

    Linux 2023年6月13日
    081
  • ELK-企业级日志分析系统

    ELK 企业级日志分析系统 1.常见日志处理方式 rsyslog: Ryslog是一个强大而安全的日志处理系统。Rsylog通过多个物理或虚拟服务器在网络上接收日志,并监视不同服务…

    Linux 2023年6月13日
    095
  • 安装Redis6.x

    gcc安装完毕以后,接下来可以按照redis了,解压redis6安装包 tar -zxvf redis-6.0.9.tar.gz * 查看日志,表示运行成功 vim /usr/lo…

    Linux 2023年5月28日
    079
  • Windows 2008 R2 Powershell 3.0

    下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=34595&WT.mc_id=rss_alldow…

    Linux 2023年5月28日
    0119
  • Shell脚本8种字符串截取方法总结

    Linux 的字符串截取很有用。有八种方法。 假设有变量 var=http://www.aaa.com/123.htm. 1. # 号截取,删除左边字符,保留右边字符。 echo …

    Linux 2023年5月28日
    0152
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球