每日算法题:19.7.1

题目:

给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。

示例:

 输入:数组 nums = [-1,2,1,-4], 和 target = 1.

输出:(-1 + 2 + 1 = 2).

代码:

public class Test2 {
    @Test
    public void test(){
        int[] test = {-1,2,1,-4};
        int i = new Test2().threeSumClosest(test, 1);
        System.out.println(i);
    }
    public int threeSumClosest(int[] nums, int target) {
        int min =Math.abs(nums[0]+nums[1]+nums[2]-target);
        int result = nums[0]+nums[1]+nums[2];
        for (int i = 0; i < nums.length-2; i++) {
            for (int j = i+1; j < nums.length-1; j++) {
                for (int k = j+1; k < nums.length; k++) {
                    int temp = Math.abs(nums[i]+nums[j]+nums[k]-target);
                    if (temp

 

你可能感兴趣的:(算法)