Rotate Function
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 follows:
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.
Example 1
Input
nums = [4,3,2,6]Output
26The rotation values are F(0) = 25, F(1) = 16, F(2) = 23, and F(3) = 26, so the maximum is 26.
Example 2
Input
nums = [100]Output
0With one element, the only rotation function value is F(0) = 0 * 100 = 0.
Constraints
- n == nums.length
- 1 <= n <= 10^5
- -100 <= nums[i] <= 100