擅长:python、mysql、java
<p>你可以用<code>itertools</code>来做,当然首先要转换成int</p>
<p><code>from itertools import combinations</code></p>
<pre><code># Convert to int
arr= [int(i) for i in arrNums]
# Get all the combinations
psums = {sum(i): i for i in combinations(arr, 2)}
# Then loop once
for i, v in enumerate(arr):
if v in psums:
print(f'{psums[v][0]} + {psums[v][1]} == {v}')
</code></pre>
<p>此算法的大O平均为<code>O(n^2)</code>,它来自<code>O(n choose r)</code>,其中<code>n</code>是输入的数量(本例中为4),而<code>r</code>是求和的数字计数,在本例中为2</p>