<p>我试着比较两种算法,计算数组中两个最大元素的乘法。我决定实现这样的算法——遍历数组中的每个元素——找到最高的元素,记住它的索引,然后对其余元素重复相同的操作。你知道吗</p>
<pre><code>import random
m = 2
n = random.randint(0+m,10+m)
b = [random.randint(0,12) for _ in range(n)]
def MaxPairwiseProductFast(a):
for i in range(0,n):
max_index1 = -1
if (max_index1 == -1) or (a[i] > a[max_index1]):
max_index1 = i
for j in range(0,n):
max_index2 = -1
if (a[j] != a[max_index1]) and ((max_index2 == -1) or (a[j] > a[max_index2])):
max_index2 = j
resutl = a[max_index1]*a[max_index2]
print(resutl)
MaxPairwiseProductFast(b)
</code></pre>
<p>此函数将最高元素自身相乘。我不明白为什么会这样。你知道吗</p>
<p>如果您使用的是列表,则可以使用列表方法“max(list)”来查找列表的最高值。下面的代码呢?按照你的逻辑修改</p>
<pre><code>list1 = [1,2,3,4]
list2 = [5,7,3,9]
a, b = max(list1), max(list2)
result = a * b
</code></pre>
<p>上面的代码只是一个例子。希望有帮助。你知道吗</p>