java:最大升序子数组和
给你一个正整数组成的数组 nums ,返回 nums 中一个 升序 子数组的最大可能元素和。
子数组是数组中的一个连续数字序列。
已知子数组 [numsl, numsl+1, …, numsr-1, numsr] ,若对所有 i(l <= i < r),numsi < numsi+1 都成立,则称这一子数组为 升序 子数组。注意,大小为 1 的子数组也视作 升序 子数组。
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/maximum-ascending-subarray-sum
import java.util.Scanner;
public class suan{
public static void main(String args[]){
Scanner op=new Scanner(System.in);
System.out.print("输入数组:");
int[] i=new int[5];
for(int i=0;i<5;i++){
n[i] = op.nextInt();
}
Solution objectOne;
objectOne =new Solution;
int a=objectOne.maxAscendingSum(n);
System.out.println("最大升序子数组和:"+a);
}
}
次
class Solution{
public int maxAscendingSum(int[] nums){
int res=nums[0];
int max=nums[0];
int n=nums.length;
for(int i=1;i<n;i++){
if(nums[i]>nums[i-1]){
max +=nums[i];
}else{
res=Math.max(res,max);
max=nums[i];
}
}
return Math.max(res,max);
}
}