您的位置:首页 > 其它

(59)三数之和 II

2015-10-22 20:56 267 查看


中等 三数之和
II
查看运行结果 

29%

通过

给一个包含n个整数的数组S, 找到和与给定整数target最接近的三元组,返回这三个数的和。

您在真实的面试中是否遇到过这个题? 

Yes

样例

例如S = [-1, 2, 1, -4] and target = 1.  和最接近1的三元组是 -1
+ 2 + 1 = 2.

注意

只需要返回三元组之和,无需返回三元组本身

public class Solution {
/**
* @param numbers: Give an array numbers of n integer
* @param target : An integer
* @return : return the sum of the three integers, the sum closest target.
*/
public int threeSumClosest(int[] numbers ,int target) {
int tran = numbers[0]+numbers[1]+numbers[2];
int ans = transf(tran-target);
int len = numbers.length;
int fin =tran;
int close = ans;
for(int i=0;i<len-2;i++)
{
for(int j=i+1;j<len-1;j++)
{
for(int k=j+1;k<len;k++)
{
tran = numbers[i]+numbers[j]+numbers[k];
close = transf(tran-target);
if(close<ans)
{
ans = close;
fin = tran;
}
}
}
}
return fin;
}

public int transf(int n) {
return n>=0?n:-n;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: