add: leetcode 396 solution

This commit is contained in:
Don2025
2022-07-06 15:13:53 +08:00
parent a7907ebcc2
commit 0ecc089e36

View File

@ -0,0 +1,18 @@
package leetcode
func maxRotateFunction(nums []int) int {
n := len(nums)
var sum, f int
for i, num := range nums {
sum += num
f += i * num // F(0)
}
ans := f
for i := 1; i < n; i++ {
f += sum - n*nums[n-i] // F(i) = F(i-1) + sum - n*nums[n-i]
if f > ans {
ans = f
}
}
return ans
}