You are given an integer array nums of length n.
Assume arrk to be an array obtained by rotating nums by k positions clock-wise. We define the rotation function F on nums as follow:
F(k) = 0 * arrk[0] + 1 * arrk[1] + ... + (n - 1) * arrk[n - 1].
Return the maximum value of F(0), F(1), ..., F(n-1).
The test cases are generated so that the answer fits in a 32-bit integer
class Solution(object):
def maxRotateFunction(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
res = []
n = len(nums)
mx = 0
def rotateFn(k):
total = 0
nonlocal nums
nums = nums[0:k % n-1] + nums[k+1 % n -1:]
for i in range(n):
total += nums[i] * i
return total
for i in range(n):
mx = max(mx, rotateFn(i))
return mx
Top comments (0)