【LeetCode每日一题】2789. 合并后数组中的最大元素


2789. 合并后数组中的最大元素

在这里插入图片描述

在这里插入图片描述

思虑:

1.因为要合并的条件之一是,num[i]<=num[i+1].所以将最后一个元素当做初始的值

2.从倒数第二个元素开始遍历,不断进行合并后面的元素

3.直到发现num[i]的元素,要大于后面所有合并的值,将合并的最大值更新为此时的num[i]

4.重新开始遍历合并。

代码:
    public long maxArrayValue(int[] nums) {
        int n = nums.length;
        long sum = nums[n - 1];
        for (int i = n - 2; i >= 0; i--) {
            if (nums[i] <= sum) {
                sum += nums[i];
            }else {
                sum = nums[i];
            }
        }
        return (long) sum;
    }

点击移步博客主页,欢迎光临~

偷cyk的图