1. 首页
  2. 软件开发
  3. day-19 合并后数组中的最大元素

day-19 合并后数组中的最大元素

  • 发布于 2024-09-26
  • 1 次阅读


思路:从后向前遍历数组,用tans记录每一种可能的最大值,ans为实际最大值。
注意:若ans==0,返回nums[0] 要用long

code

class Solution {

    public long maxArrayValue(int[] nums) {

         long ans=0;
         long tans=0;
         boolean flag=true;
         for(int i=nums.length-1;i>0;i--){

            if(flag==true&&nums[i]>=nums[i-1]){

                flag=false;
                tans=nums[i]+nums[i-1];
                ans=Math.max(ans,tans);
            }else{

                if(tans>=nums[i-1]){

                    tans+=nums[i-1];
                    ans=Math.max(ans,tans);
                }else{

                    ans=Math.max(nums[i-1],ans);
                    flag=true;
                    tans=0;
                }
            }

         }
         if(ans==0) return nums[0];
         return ans;
    }
}

原文链接: https://blog.csdn.net/qq_53568730/article/details/136720337