擅长:python、mysql、java
<p>简言之,不,这是一个非常复杂的算法,很快就会归结为<code>O(n ^ 3)</code></p>
<p>“算法”本身可能不会比<code>O(n ^ 2)</code>更有效,但您可以很容易地将其更改为<code>O(n ^ 2)</code>。你知道吗</p>
<pre class="lang-py prettyprint-override"><code>def combinations(n):
for i in range(n - 2): # go up to n and add 1 + 1, assuming you don't want 0 and 0
for j in range(n - 2): # the same again.
if i + j >= n:
continue
yield (i, j, n - i - j) # there are probably more than just these, keep that in mind.
</code></pre>
<p>希望这至少有点帮助。你知道吗</p>