[解答]配列中の数字の演算値/Til#39を検索


Code Kata

質問する

twoSum関数で数値配列と「特定の数」をパラメータとして渡すと、
さらに「特定の数」が現れたインデックスを配列に戻します.
nums: 숫자 배열
target: 두 수를 더해서 나올 수 있는 합계
return: 두 수의 index를 가진 숫자 배열

# 가정
target으로 보내는 합계의 조합은 배열 전체 중에 2개 밖에 없다고 가정하겠습니다.

私の答え

const recursion = (curIdx, nums, target) => {
  for(let i= curIdx; i < nums.length; i++) {
    if(nums[curIdx] + nums[i+1] == target) return [curIdx, i + 1];
  }
  return recursion(curIdx+1, nums, target);
}

const twoSum = (nums, target) => recursion(0, nums, target)
for文を作成して、
  • 配列の最初のインデックスを終了インデックス
  • に遍歴する.
  • 最初の値のインデックスが0の場合に発生する可能性のあるすべての数を決定します.
    -> but. 最初の値が異なるインデックス(例えば[1,1][2,3])の場合は、x
  • を確認してください.
  • 再帰構造関数は、最初の値がnums[curIdx]のときに見つからない場合、recursion関数を再び返す方法で
  • を解決する.