知识点:差分数组

题目给出一个差分数组,要求我们找到原数组中的最大值和位置,测试用例中只要求我们找到原数组中的最大值,因为我们已知有每个元素之间的差值,很容易根据第一个元素找到后续所有元素的值,也就可以通过一次遍历得到原数组的最大值。

Java题解如下

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param fruit int整型一维数组 
     * @return int整型
     */
    public int mostFruitTree (int[] fruit) {
        // write code here
        int n = fruit.length;
        int max = 10;
        int cur = 10;
        for(int i = 0; i < n; i++) {
            cur += fruit[i];
            max = Math.max(max, cur);
        }
        return max;
    }
}