擅长:python、mysql、java
<p>虽然我通常喜欢使用<code>min</code>和<code>max</code>的解决方案,但在这种情况下,需要两次线性传递,并且会有大量内存开销。这是一种需要一次线性传递和恒定内存的方法:</p>
<pre><code>with open('numbers.txt') as infile:
smallest, largest = '', None
for line in infile:
n = int(line)
smallest = min(n, smallest)
largest = max(n, largest)
print "the smallest number is", smallest
print "the largest number is", largest
</code></pre>