Voyz's Studio.

LeetCode算法笔记--最接近的三数之和

字数统计: 202阅读时长: 1 min
2020/10/04 Share

LeetCode算法笔记–Day20

16. 最接近的三数之和

题目:

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

示例1:
输入: nums = [-1,2,1,-4], target = 1
输出: 2

我的解答:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/**
* @param {number[]} nums
* @param {number} target
* @return {number}
*/
var threeSumClosest = function(nums, target) {
let _res = nums[0]+nums[1]+nums[2];
let _min_diff_value = Math.abs(_res - target);
let _len = nums.length;
for(let i=0;i<_len-2;i++){
for(let j=i+1;j<_len-1;j++){
for(let k=j+1;k<_len;k++){
let _sum = nums[i]+nums[j]+nums[k];
let _diff_value = Math.abs(_sum - target);
if(_diff_value == 0) return target;
if(_diff_value < _min_diff_value){
_min_diff_value = _diff_value;
_res = _sum;
}
}
}
}
return _res;
};
CATALOG
  1. 1. LeetCode算法笔记–Day20
  2. 2. 16. 最接近的三数之和
    1. 2.0.0.0.1. 题目:
    2. 2.0.0.0.2. 我的解答: