擅长:python、mysql、java
<p>二次解如下所示:</p>
<pre><code>def findMinQuad(aList):
overallmin = alist[0]
for i in aList:
issmallest = True
for j in a List:
if i > j:
issmallest = False
if issmallest:
overallmin = i
return overallmin
</code></pre>
<p>因为我们用嵌套的for循环在输入列表上迭代了两次,所以我们知道答案是二次时间O(n^2)。嵌套循环还确保我们将每个数字与列表中的其他数字进行比较</p>
<p>线性解决方案如下所示:</p>
<pre><code>def findMinLin(aList):
minsofar = aList[0]
for i in aList:
if i < minsofar:
minsofar = i
return minsofar
</code></pre>
<p>这是一个非常不言自明的例子,我们假设第一个数字是最小的,然后我们迭代列表,看看是否找到一个较小的数字。如果我们这样做了,那么这个数就是新的最小数,在循环结束时,任何保存为最小数的东西,实际上都是最小数</p>