Menu
CoddyTech

Two Sum

Дан массив целых чисел nums и целое число target. Ровно два элемента массива nums, находящиеся на разных позициях, в сумме дают target. Верните индексы этих двух элементов, сначала меньший индекс.

Функция

twoSum(nums: integer-array, target: integer) → integer-array
numsinteger-array
массив целых чисел для поиска
targetinteger
сумма двух элементов должна достигать
Возвращаетinteger-array
два индекса, сначала меньший

Ограничения

  • 2 ≤ nums.length ≤ 104
  • -109 ≤ nums[i] ≤ 109
  • -109 ≤ target ≤ 109
  • Ровно одна пара различных позиций в сумме дает target.

Примеры

Ввод
nums = [3, 8, 12, 5]target = 17
Вывод
[2, 3]
Пояснение
12 находится по индексу 2, а 5 — по индексу 3, и 12 + 5 = 17. Ни одна другая пара не дает в сумме 17.
challenge icon

Дополнительный вопрос

Если nums уже отсортирован, сможете ли вы найти пару за время O(n), используя только O(1) дополнительной памяти?

Сбросить код
def twoSum(nums, target):
    # Напишите код здесь

Тест #1

Тест #2

Тест #3

Аргументы

nums = [3, 8, 12, 5]
target = 17

Ожидаемый вывод

[2, 3]