这两个return语句有什么区别?

时间:2018-10-29 16:52:30

标签: python arrays max

这是来自codesignal的问题。我从下面尝试了第二段代码,但未通过所有测试。但是第一个片段确实做到了。为什么?这两个摘要有什么区别?

上下文:给定整数数组,找到具有最大乘积的相邻元素对并返回该乘积。

def adjacentElementsProduct(inputArray):
    return max([inputArray[i]*inputArray[i+1] for i in range(len(inputArray)-1)])


def adjacentElementsProduct(inputArray):
    for i in range(len(inputArray)-1):
        return max([inputArray[i]*inputArray[i+1]])

1 个答案:

答案 0 :(得分:6)

您尝试过这些吗?

第一个返回列表的最大值。

第二个返回inputArray[0]*inputArray[1]。循环永远不会执行到最后。