博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode 3Sum Closest (Two pointers)
阅读量:7104 次
发布时间:2019-06-28

本文共 1048 字,大约阅读时间需要 3 分钟。

题意

Given an array S of n integers, find three integers in S such that the sum is closest to a given number, target. Return the sum of the three integers. You may assume that each input would have exactly one solution.

给定一个数组及一个目标值,找出三个数,使它们的和与目标值的差值最小,输出它们的和。

解法

与上一题一样,遍历第一个数,然后用双指针算法遍历剩下两个数,随时比较它们与目标值的差值。

class Solution {public:    int threeSumClosest(vector
& nums, int target) { sort(nums.begin(),nums.end()); int diff = 0x7fffffff; int ans = 0; for(int i = 0;i < nums.size();i ++) { int j = i + 1; int k = nums.size() - 1; while(j < k) { int sum = nums[i] + nums[j] + nums[k]; if(abs(sum - target) < diff) { diff = abs(sum - target); ans = sum; } if(sum < target) j ++; else k --; } } return ans; }};

转载于:https://www.cnblogs.com/xz816111/p/5856940.html

你可能感兴趣的文章
他们如何利用微信赚钱
查看>>
安装配置cacti
查看>>
oracle linux6操作系统oracle11.2.0.4数据库从一台主机A(ora11g)到另一台主机B(ora02)的迁移过程...
查看>>
分享21个超棒的单页面网站设计
查看>>
HTML5发展历史信息图 - 帮助你更形象化的了解HTML5历史
查看>>
我的思科之路
查看>>
Android Design
查看>>
使用pure-ftpd搭建ftp服务
查看>>
交换机相关
查看>>
RSA的数学及算法实现
查看>>
Spark中narrow dependency和wide dependency
查看>>
【尖端干货】H.264编码下直播视频添加水印的优化
查看>>
maildir 邮件文件名 记录
查看>>
在线模拟HTTP请求
查看>>
如何对压缩文件设置解压密码
查看>>
Linux运维学习之LNMP搭建"小米商城"
查看>>
#if #ifdef使用小记
查看>>
2.1/2.2系统目录结构 2.3 ls命令 2.4文件类型 2.5 alias命令
查看>>
KVM虚拟机管理程序(转)
查看>>
android中用Spannable在TextView中设置超链接、颜色、字体
查看>>