396. Rotate Function

https://leetcode.com/contest/leetcode-weekly-contest-4/problems/rotate-function/

F(i+1) - F(i) = sum(A) - Array.length * A[k-1]

import sys
class Solution:
    def maxRotateFunction(self, A: List[int]) -> int:
        res = sum([i*val for i,val in enumerate(A)])
        curr = res
        n = len(A)
        s = sum(A)
        if n == 0:
            return 0
        while len(A) > 1:
            curr += s - n * A.pop()
            res = max(res,curr)
        return res
        

Last updated

Was this helpful?