擅长:python、mysql、java
<p>如果您以失败的形式分析代码的情况,您有:</p>
<pre><code>arr = [2,2,2,2,4,5,2,45,3,4,4]
mostFrq = 0
mostFrqAmount = 0
for i in arr:
amountOfCurrent = 0
# now look at temp element
for j in arr:
if (arr[j] == arr[i]):
amountOfCurrent = amountOfCurrent + 1
if (amountOfCurrent > mostFrqAmount):
mostFrqAmount = amountOfCurrent
mostFrq = arr[i]
print(mostFrq)
print(mostFrqAmount)
</code></pre>
<p>使用<code>for i in arr</code>表单返回一个迭代器,该迭代器为您处理索引信息,因此您的“i”被设置为数组中的值</p>
<p>当你走到这条线时:
<code>if (arr[j] == arr[i]):</code></p>
<p>最后用变量替换<code>arr[45]</code></p>
<p>数组的索引只会变为10,因此会抛出错误</p>