这是最优解(参考示例):

个人理解的思路:
先建一个空字典 seen,键是数字 ,值是下标 。
然后用 enumerate 遍历数组,同时拿到下标 i 和元素 num。
算出需要的另一个数 need = target - num。
如果 need 不在 seen 里,就把当前数 num 和它的下标 i 存进去。
如果 need 在 seen 里,说明之前见过 need,直接返回 [seen[need], i]。
这是最优解(参考示例):

个人理解的思路:
先建一个空字典 seen,键是数字 ,值是下标 。
然后用 enumerate 遍历数组,同时拿到下标 i 和元素 num。
算出需要的另一个数 need = target - num。
如果 need 不在 seen 里,就把当前数 num 和它的下标 i 存进去。
如果 need 在 seen 里,说明之前见过 need,直接返回 [seen[need], i]。