给定一个整数数组,找到相邻元素之间乘积最大的一对,并返回该乘积。
这是我的代码:
function adjacentElementsProduct(inputArray) {
var arr = inputArray;
var x=0;
var y=0;
var p=0;
for(var i=0;i<arr.length;i++){
x=arr[i];
y=arr[i+1];
if(x*y>p){
p=x*y;
};
};
return p;
};
问题在于所有的测试都能正常运行,但是除了负积数组(如附图所示)。 有人能帮忙吗?提前感谢。
y
设置为arr[arr.length]
,这不是一个有效的索引。 - ricip
设为了0
。在这种情况下,所有的乘积都是负数,因此你永远找不到更大的乘积。如果你将其设为-Infinity
,看起来应该就可以解决问题了。 - Scott Sauyet