Review the AI
Two Sum
The classic interview question, three answers. One has a subtle bug that only shows on some inputs. Label them.Problem
two_sum(values, key): return the indices of two different elements that add up to key. There is exactly one answer.Solution A
1def two_sum(values, key):
2 seen = {}
3 for i, v in enumerate(values):
4 seen[v] = i
5 if key - v in seen:
6 return [seen[key - v], i]
Solution B
1def two_sum(values, key):
2 for i in range(len(values)):
3 for j in range(i + 1, len(values)):
4 if values[i] + values[j] == key:
5 return [i, j]
Solution C
1def two_sum(values, key):
2 seen = {}
3 for i, v in enumerate(values):
4 if key - v in seen:
5 return [seen[key - v], i]
6 seen[v] = i