Rotate Function思路:F[i]=F[i-1]+sum-n*A[n-i]
GitHub地址:https://github.com/corpsepiges/leetcode
public class Solution {
public int maxRotateFunction(int[] A) {
int length=A.length;
if (length==0) {
return 0;
}
int[] F=new int[length];
int sum=0;
for (int i = 0; i < length; i++) {
F[0]+=i*A[i];
sum+=A[i];
}
int max=F[0];
for (int i = 1; i < length; i++) {
F[i]=F[i-1]+sum-length*A[length-i];
if (F[i]>max) {
max=F[i];
}
}
return max;
}
}
本文介绍了一种解决特定旋转数组问题的算法实现,通过计算旋转函数F[i]来找到数组旋转后的最大值。该算法利用了预计算和动态更新的方法,避免了重复计算,提高了效率。
1114

被折叠的 条评论
为什么被折叠?



