擅长:python、mysql、java
<p>您的解决方案有一个嵌套循环迭代列表,这意味着它是<em>O(n^2)</em>时间复杂性和<em>O(1)</em>空间,因为迭代期间不需要存储任何数据。在</p>
<p>降低到<em>O(n)</em>时间复杂性是可能的,代价是增加到O(n)空间复杂性:</p>
<pre><code>def two_sum(l, target):
s = set(l)
for n in l:
delta = target - n
if delta != n and delta in s:
return True
return False
</code></pre>
<p>作为一个小小的改进,您甚至可以避免遍历整个列表,但它仍然是<em>O(n)</em>:</p>
^{pr2}$