@WarriorKodeK

Почему возвращает пустой массив?

Решаю задачку на leetcode.
Given an array of integers, return indices of the two numbers such that they add up to a specific target.

You may assume that each input would have exactly one solution, and you may not use the same element twice.

Example:
Given nums = [2, 7, 11, 15], target = 9,

Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].


Мое решение:
var twoSum = function(nums, target) {
    let resultArr = [];
    for(let i = 0; i < nums.length; i++){
        if(nums[i] === (target - nums[i + 1])){
            resultArr.push(i, i + 1)
        }
    }
    return resultArr;
};


Первую проверку оно прошло, а вторую нет, возвращает пустой массив:
twoSum([3,2,3], 6) // => Expected: [0,2], а у меня []


Где я лажаю?(
  • Вопрос задан
  • 348 просмотров
Пригласить эксперта
Ответы на вопрос 1
@ksnk
Используй 2 вложенных цикла вместо одного. Сейчас у тебя находится результат только если пара чисел ответа идет последовательно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы