【leetcode】16 3Sum Closest

1548341-20181129110221619-1525960774.jpg

描述

给定一个数字集合 S 以及一个数字 target,需要从集合中找出3个数字的和与这个 target的值最接近(绝对值最小)

样例

 Input: S = [-1, 2, 1, -4], target = 1Output: 2

思路

首先排序,之后确定一个数字的前提下,再利用双指针从两端向中间扫描,求
min | a+b+c - target| ,其中 a,b ,c 是 集合中数字。

代码

#include<iostream>
#include<string>
#include<vector>
#include <set>
#include <algorithm>
#include <cmath>
#include <climits>using namespace std;class Solution {
public:int threeSumClosest(vector<int>& nums, int target) {sort(nums.begin(),nums.end());int maxdiff = INT_MAX;int res = 0;int len = nums.size();for(int i=0;i<len-2;i++){int start = i+1;int end = len-1;while(start<end){int threeSum = nums[i] + nums[start] + nums[end];int tempdiff = threeSum - target; if(tempdiff == 0){return threeSum;}else if(abs(tempdiff) < maxdiff){maxdiff = abs(tempdiff);res = threeSum;               }if(threeSum > target){end--;}else if(threeSum < target){start++;}}}return res;}
};int main(){// vector<int> nums{0,2,1,-3};vector<int> nums{-1, 2, 1, -4};int target = 1;Solution ss;cout<<ss.threeSumClosest(nums,target)<<endl;}

参考链接

原题链接
3sum维基百科


转载于:https://www.cnblogs.com/wei-huan/p/10037149.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/426348.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

项目管理(4):备战pmp

1单个项目管理过程 如何实现项目管理&#xff1f; 通过“过程”processes实现 大多数情况下&#xff0c;大多数项目都有共同的项目管理过程 项目管理知识提供的是good practice 应用这些过程能大大提高项目成功的机会 项目经理与项目团队的责任 确定哪些过程适用于具体给…

项目管理(6):备战pmp

项目整体管理 定义&#xff1a; 识别、定义、结合、统一与协调项目管理过程组中的各个过程以及项目管理活动 在各个相互冲突的目标与方案之间权衡取舍 在项目管理中发挥明显的重要作用 Eg&#xff1a;应急计划的成本估算成本管理时间管理风险管理 基本任务&#xff1a; …

项目管理(7):备战pmp

1.2制定项目初步范围说明书 项目范围说明书&#xff08;初步&#xff09; 目的&#xff1a; 登记项目及其产品和服务的特征与边界&#xff0c;以及验收与范围控制的方法 内容&#xff1a; 项目与产品的目标 产品或服务的要求与特性 产品验收标准 项目边界 项目要求与可…

旅馆客未满 计算机术语,前厅测试题

《前厅服务》单元测试一一、单项选择题(每题1分&#xff0c;共50分)1、按照人类生产、生活、社会实践活动领域的不同&#xff0c;道德可划分为三个组成部分&#xff0c;其中不包括()。A、职业道德B、家庭美德C、社会良知D、社会公德2、职业道德是人们在长期的职业活动中形成的(…

计算机操作系统(7):进程的基本概念

2.1 进程的基本概念 程序的顺序执行及其特征程序的并发执行及其特征进程的特征与状态进程控制块 2.1.1 程序的顺序执行及其特征 顺序执行包含两层含义&#xff1a; 在单道批处理系统中&#xff0c;对于多个用户程序来说&#xff0c;所有程序是依次执行的。(外部顺序性) 对…

无法打开计算机上的event log服务,Win7系统下启用Windows event log服务发生4201错误的正确解决方法...

Windows event log服务会把程序与系统发送的错误消息记录在日志中&#xff0c;其中还包含了部分有用的诊断信息&#xff0c;近期有Win7用户在启用windows event log服务的时候&#xff0c;发生4201错误提示框。那么该如何解决该问题&#xff1f;下面装机之家分享一下Win7系统下…

广义线性模型的计算机应用技术学院,SPSS数据分析—广义线性模型

我们前面介绍的一般线性模型、Logistic回归模型、对数线性模型、Poisson回归模型等&#xff0c;实际上均属于广义线性模型的范畴&#xff0c;广义线性模型包含的范围非常广泛&#xff0c;原因在于其对于因变量、因变量的概率分布等条件的限制放宽&#xff0c;使其应用范围加大。…

中国第一个计算机病毒什么时候,新中国成立以来的第一例电脑病毒小球病毒是在1988年发现...

扩展阅读&#xff1a;1988年&#xff0c;随着软件交流&#xff0c;石头和小球病毒跟随软盘悄悄地通过香港和美国进入了中国内地&#xff0c;并在人们的懵懂之间在大型企业和研究所间广为传播。小球病毒是国内发现的第一个计算机病毒。发作条件是当系统时钟处于半点或整点&#…

计算机操作系统(8):进程的控制

2.2 进程控制 进程控制是进程管理中最基本的功能。 进程控制包括&#xff1a; ◆ 创建进程 ◆ 终止进程 ◆ 进程状态转换 进程控制是由OS的内核完成的。 2.2.1 进程的创建 2&#xff0e;进程的创建 调用进程创建原语Create&#xff08;&#xff09;&#xff0c;按下述…

计算机操作系统(9):深入理解B/S与C/S架构

深入理解B/S与C/S架构 阅读目录 C/S架构简要介绍 什么是B/S架构 B/S架构的几种形式 发展前景 一、C/S架构简要介绍 在了解什么是B/S架构之前&#xff0c;我们有必要了解一下什么是C/S架构&#xff1a; C/S架构是第一种比较早的软件架构&#xff0c;主要用于局域网内。也叫…

硬件设计--DC/DC电源芯片详解

本文参考&#xff1a;http://www.elecfans.com/article/83/116/2018/20180207631874.html https://blog.csdn.net/wangdapao12138/article/details/79763343 第一次写博客&#xff0c;不喜勿喷&#xff0c;谢谢&#xff01;&#xff01;&#xff01; DC/DC电源指直流转换为直流…

Unity预计算全局实时GI(gi params)

Unity提供许多进阶的光照贴图控制方法&#xff0c;这些设定被放在一个光照参数集(LightmapParameters)的资源里&#xff0c;好让设定能在不同的项目场景或是透过版本控制和团队一起共享。 要建立一个Lightmap Parameters资源&#xff0c;先找到Project窗口从Create下拉选单建立…

计算机操作系统(11):负载均衡

负载均衡是高可用网络基础架构的的一个关键组成部分&#xff0c;有了负载均衡&#xff0c;我们通常可以将我们的应用服务器部署多台&#xff0c;然后通过负载均衡将用户的请求分发到不同的服务器用来提高网站、应用、数据库或其他服务的性能以及可靠性。 为什么要引入负载均衡…

计算机配置对电子竞技的影响,配置高并不是唯一优点 看看电竞硬件还要啥?...

01宁美国度星河 战列舰XS现在有很多游戏品牌依靠品牌的力量为自己背书&#xff0c;以至于很多游戏玩家很难找的合适自己的高性能电脑&#xff0c;电竞体验也就无从谈起&#xff0c;但是今年的新品里还是有一些意外之喜&#xff0c;在整机性能上表现不俗。比如电脑发烧友们向来有…

计算机硬盘与格式化,什么是磁盘格式化 格式化与快速格式化区别 - 驱动管家...

电脑磁盘格式化&#xff0c;对于电脑爱好者肯定很好理解&#xff0c;但对于一些新手&#xff0c;可能不太理解。格式化是什么?简单的说&#xff0c;格式化就是把一张空白的盘划分成一个个小的区域&#xff0c;并编号&#xff0c;供计算机储存&#xff0c;读取数据。接下来对磁…

玩转oracle 11g(11):开启归档模式

如果归档模式已经开启并设置归档路径&#xff0c;请跳过 1. 开始-》运行-》cmd 2. 输入&#xff1a;sqlplus sys/密码 as sysdba 3. Sql> archive log list ; 如下图所示&#xff1a; Rman 在线备份 如果“数据库日志模式”为“非存档模式” 按照如下开启归档…

玩转oracle 11g(12):卸载

从 Oracle 11gR2 开始&#xff0c;Oracle 推荐使用 deinstall 来完全卸载 Oracle 数据库。 使用 Oracle Universal Install(OUI) 的图形方式来卸载 Oracle 数据库软件&#xff0c;会看到下图警告: "请运行命令 C:\app\administrator\product\11.2.0\dbhome_1\deinstall\de…

[SHOI2011]双倍回文 manacher

题面&#xff1a; 洛谷&#xff1a;[SHOI2011]双倍回文‘ 题解&#xff1a; 首先有一个性质&#xff0c;本质不同的回文串最多O(n)个。 所以我们可以对于每个i&#xff0c;求出以这个i为结尾的最长回文串&#xff0c;然后以此作为长串&#xff0c;并判断把这个长串从中间劈开后…

h5禁用浏览器下载视频_【必备】 一键视频下载器插件,非常好用的浏览器插件!...

① 资源发布时&#xff0c;版本是最新的。时过境迁&#xff0c;无法保证能否正常使用&#xff0c;请善用公众号搜索功能&#xff0c;请及时下载最新版或留言。② 如果觉得资源对您有用&#xff0c;请收藏。如果觉得资源对他人有用&#xff0c;请转发。③ 如发现“无法运行“、“…

access是不是计算机编程,access编程简介之二:用宏还是VBA?

时 间:2012-07-03 09:47:12作 者:摘 要:Access编程简介之二&#xff1a;我应该使用宏还是应该使用 VBA 代码&#xff1f;正 文:要决定是使用宏或 VBA 还是同时使用这两者&#xff0c;主要取决于您计划部署或分发数据库的方式。例如&#xff0c;如果数据库存储在您的计算机上…