leetcode-two-sumの両方とjavascript版

600 ワード

問題の説明:
一つの整数配列と一つの目標値を指定して、配列と目標値の2つの数を探し出します.各入力は一つの答えにしか対応していないと仮定してもいいです.同じ要素は繰り返し利用できません.例:nums=[2,7,11,15]を与えられたので、target=9はnums[0]+nums[1]=2+7=9なので[0,1]に戻ります.
jsコード
  • 方法1:
  • /**
     * @param {number[]} nums
     * @param {number} target
     * @return {number[]}
     */
    var twoSum = function (nums, target) {
        for (let i = 0, len = nums.length; i < len; i++) {
            const complement = target - nums[i]
            const index = nums.findIndex(i => i === complement)
            if (index !== -1 && index !== i) {
                return [i, index]
            }
        }
    }