leetcode+求旋转中最大的乘积,数学。观察规律。

点击打开链接
class Solution {
public:
    int maxRotateFunction(vector<int>& A) {
        int n = A.size();
        if(n==0) return 0;
        int s=0, presum=0;
        for(int i=0; i<n;i++){
            s+=A[i];
            presum += i*A[i];
        }
        int MaxSum = presum;
        for(int i=n-1; i>=0; i--){
            presum += s-n*A[i];
            MaxSum = max(MaxSum,presum);
        }
        return MaxSum;
    }
};

猜你喜欢

转载自blog.csdn.net/u013554860/article/details/80369376
今日推荐