123456789101112131415161718 |
- func maxRotateFunction(A []int) int {
- n := len(A)
- if n <= 1 {
- return 0
- }
- sum, fx := 0, 0
- for i, a := range A {
- sum, fx = sum+a, fx+i*a
- }
- max := fx
- for i := n - 1; 0 < i; i-- {
- fx += sum - n*A[i]
- if max < fx {
- max = fx
- }
- }
- return max
- }
|