擅长:python、mysql、java
<p>据我所知,您已经实现了所请求的算法。它已经涵盖了我输入的基本原理。你知道吗</p>
<p>是的,您可以设置一个标志来指示您是否在此通行证上进行了任何交换。这不会改变任何复杂度,除了最佳情况,尽管在许多其他情况下它确实减少了常数因子。你知道吗</p>
<p>我认为加快进程的一种可能性是使用更有效的值交换:使用Python习惯用法<code>a, b = b, a</code>。在您的情况下,内部循环可能会变成:</p>
<pre><code>done = True
for j in range(i, n_k_s[0]-1):
if progressions[j] > progressions[j+1]:
progressions[j], progressions[j+1] = progressions[j+1], progressions[j]
done = False
if done:
break
</code></pre>