我試圖解決的問題是:“給定一個整數陣列,找到具有最大乘積的相鄰元素對并回傳該乘積。”
這是我的代碼,但它說“IndexError:串列索引超出范圍”
def solution(inputArray):
largest_product = 0
x = 0
y = 0
length_of_array = len(inputArray)
if(length_of_array < 2):
return
for i in range(len(inputArray)):
x = inputArray[i]
y = inputArray[i 1]
if(x * y > largest_product):
largest_product = x * y
return largest_product
inputArray = [3, 6, -2, -5, 7, 3]
uj5u.com熱心網友回復:
你得到IndexError: list index out of range是因為你試圖訪問一個不存在的專案 -y = inputArray[i 1] = inputArray[6] = not exists
def solution(inputArray):
largest_product = 0
x = 0
y = 0
length_of_array = len(inputArray)
if (length_of_array < 2):
return
for i in range(len(inputArray)-1):
x = inputArray[i]
y = inputArray[i 1]
if (x * y > largest_product):
largest_product = x * y
return largest_product
你可以更容易地使用zip和`max:
max(x*y for x,y in zip(inputArray[:-1],inputArray[1:]))
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/420503.html
標籤:
