擅长:python、mysql、java
<p>我很确定你的<code>permutations.add()</code>和<code>curSet.add()</code>和<code>fullSet.add()</code>调用会导致你的例程很快停止。如果你一直改变数组的大小,分配的内存将“耗尽空间”,必须找到一个新的位置。这意味着整个数组被复制。然后再加入另一个元素-冲洗并重复。在</p>
<p>您需要计算所需元素的数量,并预先为其分配空间。因此,如果你有5个元素,你需要分配(5!+5*4!+10*3!+10*2!+5)最终结果x 5个元素-中间结果更少。然后在不乱排内存块的情况下填充这些数组;这将使速度显著加快。在</p>