Leetcode - Rotate Function

My code:

public class Solution {
    public int maxRotateFunction(int[] A) {
        if (A == null || A.length == 0) {
            return 0;
        }
        
        int sum = 0;
        int iteration = 0;
        
        for (int i = 0; i < A.length; i++) {
            sum += A[i];
            iteration += i * A[i];
        }
        
        int max = iteration;
        for (int i = 1; i < A.length; i++) {
            iteration = iteration - sum + A[i - 1] * A.length;
            max = Math.max(max, iteration
            );
        }
        
        return max;
    }
}

reference:
https://discuss.leetcode.com/topic/58616/java-solution-o-n-with-non-mathametical-explaination

一開始超時了。后來看了答案,發現是可以用遞推公式的,還是太急了,一點不會就看答案。

Anyway, Good luck, Richardo! -- 10/12/2016

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容