10.最も近い3の数の和

件名の説明:

n個の整数と目標NUMSターゲットを含むアレイを考えます。NUMSは三つの整数を特定し、そのような彼らの最も近いことをターゲットにしています。3つの数字とリターン。各グループは唯一の答えのみ入力があることを前提としています。

例如,给定数组 nums = [-121-4], 和 target = 1.

与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).

コードの実装:

JavaScriptを

  • そして、前の質問の指のように、指は、今悪くない、より快適に感じます。
/**
 * @param {number[]} nums
 * @param {number} target
 * @return {number}
 */
var threeSumClosest = function(nums, target) {
    nums.sort((a, b) => a - b)
    var sum = nums[0] + nums[1] + nums[2]
    var val = Math.abs(sum - target)
    for (var i = 0; i < nums.length - 2; i++ ) {
        var j = i + 1
        var k = nums.length - 1
        while (j < k) {
            var temp = nums[i] + nums[j] + nums[k]
            if (Math.abs(temp - target) < val) {
                sum = temp
                val = Math.abs(temp - target)
            } 
            if (temp < target) {
                j++
            } else if (temp > target) {
                k--
            } else {
                return temp
            }
        }
    }
    return sum
};

ここに画像を挿入説明

公開された14元の記事 ウォンの賞賛1 ビュー1701

おすすめ

転載: blog.csdn.net/weixin_45569004/article/details/104671743