博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
16. 3Sum Closest
阅读量:6004 次
发布时间:2019-06-20

本文共 1004 字,大约阅读时间需要 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.
For example, given array S = {-1 2 1 -4}, and target = 1.    The sum that is closest to the target is 2. (-1 + 2 + 1 = 2).
同 3Sum,先排序,后两边夹逼
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
class 
Solution {
public
:
    
int 
threeSumClosest(vector<
int
>& nums, 
int 
target) {
        
int 
len = nums.size();
        
if 
(len < 3) 
return 
0;
        
sort(nums.begin(), nums.end());
        
int 
sum = 0;
        
int 
leastdif = INT_MAX;
        
for 
(
int 
i = 0; i < len - 2; i++) {
            
int 
l = i + 1, r = len - 1;
 
            
while 
(l < r) {
                
int 
dif = 
fabs
(nums[i] + nums[l] + nums[r] - target);
                
if 
(dif < leastdif) {
                    
leastdif = dif;
                    
sum = nums[i] + nums[l] + nums[r];
                
}
                
else 
if 
(nums[i] + nums[l] + nums[r] < target) {
                    
l++;
                
}
                
else 
{
                    
r--;
                
}
            
}
        
}
        
return 
sum;
    
}
};

转载于:https://www.cnblogs.com/zhxshseu/p/af219256eafc904b6acab29753157811.html

你可能感兴趣的文章
闲话__stdcall, __cdecl, __fastcall出现的历史背景以及各自解决的问题
查看>>
NOI后训练记录
查看>>
二分法和牛顿迭代法
查看>>
OutLook The profile name you entered already exists.Enter a different profile name.
查看>>
Shell命令-文件压缩解压缩之gzip、zip
查看>>
The Unique MST
查看>>
个人总结
查看>>
uva 673 Parentheses Balance
查看>>
申请Let’s Encrypt免费证书,给自己网站增加https访问
查看>>
javascript+html 实现隐藏 显示
查看>>
BZOJ 2120 数颜色
查看>>
正则表达式学习笔记——基础知识
查看>>
【转】WEB测试到移动测试的转换
查看>>
Kubernetes Ingress管理
查看>>
Java中list在循环中删除元素的坑
查看>>
dede 删除栏目文章后, 让ID从1开始
查看>>
织梦如何实现二级栏目导航的仿制
查看>>
mac版chrome升级到Version 65.0.3325.18后无法打开百度bing搜狗
查看>>
django
查看>>
将开发背景设置为护眼色
查看>>