We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 3174f35 commit d965d5aCopy full SHA for d965d5a
1 file changed
solutions/two_sum_0001.py
@@ -0,0 +1,17 @@
1
+from typing import List
2
+
3
+class Solution:
4
+ def twoSum(self, nums: List[int], target: int) -> List[int]:
5
+ """Возвращает индексы двух чисел из nums, сумма которых равна target.
6
+ Работает за O(n): проходит по списку один раз, запоминая числа
7
+ и их позиции в словаре. Для каждого элемента проверяет,
8
+ было ли уже число (target - текущее). Если да — возвращает пару индексов.
9
+ Гарантируется, что решение существует и уникально.
10
+ """
11
+ seen = {}
12
+ for index, num in enumerate(nums):
13
+ complement = target - num
14
+ if complement in seen:
15
+ return [seen[complement], index]
16
+ seen[num] = index
17
+ raise ValueError('Нет решения')
0 commit comments