我正在尝试提出一种伪代码暴力算法,该算法在列表a [sub1]到[subn]中找到两个数字的最大乘积,n大于或等于2.现在,我有
for ( i = 1 to n -1)
a[subi] = a[subi-1] * a[subi+1]
for (j = a[sub j+1] to n)
a[sub j] = a[sub j-1] * a[sub j+1]
end for
end for
return `a[sub i]`
return `a[sub j]`
然而,这是不正确的。我觉得我在这里找不到一些简单的东西,但我无法弄明白。有任何想法吗?提前谢谢。
答案 0 :(得分:2)
largest_product = a[1] * a[2]
for ( i = 1 to n -1)
for (j = i + 1 to n)
product = a [i] * a [j]
if (product > largest_product)
largest_product = product
end if
end for
end for
return largest_product
修改:
对您的问题的评论建议在线性时间内提供更有效的解决方案。
实施将跟进。