leetcode-two-sumの両方とjavascript版
600 ワード
問題の説明:
一つの整数配列と一つの目標値を指定して、配列と目標値の2つの数を探し出します.各入力は一つの答えにしか対応していないと仮定してもいいです.同じ要素は繰り返し利用できません.例:nums=[2,7,11,15]を与えられたので、target=9はnums[0]+nums[1]=2+7=9なので[0,1]に戻ります.
jsコード方法1:
一つの整数配列と一つの目標値を指定して、配列と目標値の2つの数を探し出します.各入力は一つの答えにしか対応していないと仮定してもいいです.同じ要素は繰り返し利用できません.例:nums=[2,7,11,15]を与えられたので、target=9はnums[0]+nums[1]=2+7=9なので[0,1]に戻ります.
jsコード
/**
* @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]
}
}
}