i*arr[i] 的最大总和

Max sum of i*arr[i]

这应该是一个非常简单的逻辑,不会降低 space 复杂性,但是...

def rotate_array(a):
tempval=arr[0]
for i in range(0,n-2):
    arr[i]=arr[i+1]
arr[n-1]=tempval
return a

def max_sum(a,n):
maxval=0
for i in range(0,n-2):
    currval=0
    for j in range(0,n-1):
        currval+=j*arr[j]
    if (currval>maxval):
        maxval=currval
    rotate_array(a)
return maxval

这给了我一个远非正确的解决方案。有人可以帮我弄清楚答案中的函数值在哪里发生变化吗?

请注意,range(0,K) 生成从 0(K-1) 的序列(即不包括 K)。

这可能是您的代码中的一个错误。