【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,一经查实,立即删除!

相关文章

计算机组装维护教学总结,计算机组装与维护教学总结.doc

计算机组装与维护教学总结《计算机组装与维修》教学总结《计算机组装与维修》是职业学校计算机应用专业的一门主干专业课程.本课程是实践性较强的理论课程,其主要任务是使学生了解计算机各部件的分类、性能、选购方法,理解各主要部件的硬件结构、相互联系和作用,使学生掌握计算…

项目管理(4):备战pmp

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

HTML第七章总结

Getting started with CSS 前言 CSS 的 rule 作者做了一个非常形象的比喻&#xff0c;将 CSS 必做 renovate the house&#xff0c;在这里&#xff0c;CSS 包括了三个部分&#xff1a; Selector:the location of the HTML elementProperty:properties in that locationStyle:li…

项目管理(5):备战pmp

1项目干系人 Stakeholder 积极参与项目&#xff0c;或其利益因项目的实施或完成而受到积极或消极影响的个人或组织 他们会对项目的目标和结果施加影响 项目管理需要 识别项目干系人 确定各项目干系人的要求、期望、能发挥的作用 对其影响力尽量加以管理 如果有分歧怎么办…

js操作css样式

Div.style.width”100px"在div标签内我们添加了一个style属性&#xff0c;并设定了width值&#xff0c;这种写法会给标签带来大量的style属性&#xff0c;跟实际项目是不服的 获取css样式的方法&#xff1a;window.getComputedStyle()获取经过计算机计算的所有属性&#x…

html表白照片墙,【原创】【申精】用python去告白 绘制照片墙(自定义格式)

[Python] 纯文本查看 复制代码# -*- coding: utf-8 -*-from PIL import Imageimport os, syssave_image_name "New.png"raw_name "raw.bmp"res_file ".\\res" # 资源照片路径mw 100 # 单个照片的尺寸def load_raw(raw_name, data_list, _siz…

项目管理(6):备战pmp

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

使用offsetof对结构体指针偏移操作

题目来自于COMP20003 Tutorial 2&#xff1a; Program m ing Challenge 2.2 The technology stack at Hidebound Inc. uses a subset of C w hich doesnt have the . or ->operators, as the higher-ups heard shortcuts like this w ere useful in an activity called &quo…

项目管理(7):备战pmp

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

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

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

2018 java蓝桥杯校赛题目

1.【问题描述】 100 可以表示为带分数的形式&#xff1a;100 3 69258 / 714还可以表示为&#xff1a;100 82 3546 / 197注意特征&#xff1a;带分数中&#xff0c;数字1~9分别出现且只出现一次&#xff08;不包含0&#xff09;。类似这样的带分数&#xff0c;100 有 11 种表…

计算机操作系统(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;使其应用范围加大。…

没有时间

请理解时间是运动的表现 转载于:https://www.cnblogs.com/eiya/p/10053311.html

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

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

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

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

Linux起不来,如何修复

用于系统启动不了的情况&#xff1a; 配置文件修改错误。 grub挂的了。 忘记Linux root密码&#xff0c;修改root密码 rd.break mount -o remount,rw /sysroot chroot /sysroot 这样既可对系统进行修复啦&#xff01;比如修改/etc/fstab文件。转载于:https://www.cnblogs.com/y…

计算机操作系统(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;主要用于局域网内。也叫…

计算机信息管理相关课题论文,计算机信息管理课题论文[].doc

计算机信息管理课题论文[]目 录一、 引言………………………………………………………………… 2二、方案目标………………………………………………………………2三、安全需求………………………………………………………………3四、风险分析……………………………………………