擅长:python、mysql、java
<p>除非出于其他目的需要索引,否则不要使用索引循环;使用列表理解和<code>for .. in</code>循环。你知道吗</p>
<pre class="lang-py prettyprint-override"><code>def is_number_in_column(number, column, matrix):
return any(row[column] == number for row in matrix)
</code></pre>
<p>如果您的任务是输入数字,以便在任何列中都没有重复的数字,请考虑记住已用完的列。你知道吗</p>
<ul>
<li>您可以在第一行中放置任意数字序列。你知道吗</li>
<li>在第二行中,您应该取出第一列中使用的数字(让它成为<em>X</em>),将其余的数字洗牌,然后将<em>X</em>放在除第一列以外的任意位置。你知道吗</li>
<li>在第三行,有两个数字用完了,<em>X</em>来自第一列,而<em>Y</em>来自第二列。把它们剪下来,把剩下的洗牌,然后把<em>X</em>放在除第一个以外的任何位置,然后把<em>Y</em>放在除第二个以外的任何位置。你知道吗</li>
</ul>
<p>等;为一般情况制定这一点,它更容易您当前的算法。使用集合而不是列表有帮助。你知道吗</p>