【每日一道算法题系列】
leetcode链接
分析:
遍历过程中,使用标记记录当前数组中最大的元素和即可。
public int maxAscendingSum(int[] nums) {
//定义结果值ans为当前值
int ans = nums[0];
//从第二个数组元素开始循环,定义中间值cur
for(int i = 1, cur = nums[0]; i < nums.length; i++) {
if(nums[i] > nums[i - 1]) {
//如果可以连续,中间值cur进行累加
cur += nums[i];
}
else {
//如果不能连续,记录当前值num[i]作为中间值
cur = nums[i];
}
//选取中间值与当前最大结果值进行比较并赋值
ans = Math.max(ans, cur);
}
return ans;
}