【问题标题】:Max sum of i*arr[i]i*arr[i] 的最大总和
【发布时间】:2021-09-10 15:45:46
【问题描述】:

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

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

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

【问题讨论】:

    标签: arrays rotation dsa


    【解决方案1】:

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

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

    【讨论】:

    • 是的,我刚刚改变了它,它起作用了,谢谢!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-26
    • 1970-01-01
    • 2011-11-03
    • 2015-07-31
    相关资源
    最近更新 更多