当前位置:网站首页>leetcode 5709. 最大升序子数组和
leetcode 5709. 最大升序子数组和
2022-08-09 03:15:00 【田园诗人之园】
给你一个正整数组成的数组 nums ,返回 nums 中一个 升序 子数组的最大可能元素和。
子数组是数组中的一个连续数字序列。
已知子数组 [numsl, numsl+1, …, numsr-1, numsr] ,若对所有 i(l <= i < r),numsi < numsi+1 都成立,则称这一子数组为 升序 子数组。注意,大小为 1 的子数组也视作 升序 子数组。
示例 1:
输入:nums = [10,20,30,5,10,50]
输出:65
解释:[5,10,50] 是元素和最大的升序子数组,最大元素和为 65 。
示例 2:
输入:nums = [10,20,30,40,50]
输出:150
解释:[10,20,30,40,50] 是元素和最大的升序子数组,最大元素和为 150 。
示例 3:
输入:nums = [12,17,15,13,10,11,12]
输出:33
解释:[10,11,12] 是元素和最大的升序子数组,最大元素和为 33 。
示例 4:
输入:nums = [100,10,1]
输出:100
提示:
1 <= nums.length <= 100
1 <= nums[i] <= 100
直接遍历找拐点,然后找最大值即可。
int maxAscendingSum(int* nums, int numsSize){
int res = nums[0];
int num = nums[0];
for (int i = 1; i < numsSize; i++) {
printf("i:%d res:%d num:%d\n", i, res, num);
if (nums[i - 1] < nums[i]) {
num += nums[i];
}
else {
num = nums[i];
}
res = fmax(res, num);
printf("i:%d res:%d num:%d\n", i, res, num);
}
return res;
}
边栏推荐
猜你喜欢
随机推荐
rk3399 PCIe rc设备枚举之设备资源识别分析
【问题记录】pip 安装报错 Failed to establish a new connection
Cholesterol-PEG-Maleimide,CLS-PEG-MAL,胆固醇-聚乙二醇-马来酰亚胺用于科研实验
powershell 执行策略
佛性问题排查小结
开发工程师必备————【Day05】UDP协议;进程的并发与并行
Chapter3 numpy创建数组
卷积神经网络模型训练——入门理解
甲乙丙丁加工零件,加工的总数是370, 如果甲加工的零件数多10,如果乙加工的零件数少20,如果丙加工的 零件数乘以2,如果丁加工的零件数除以2,四个人的加工数量相等,求甲乙丙丁各自加工多少个零件?
智能计数器控制板的功能及应用有哪些?
opencv学习入门
SQL JOIN上的and
Promoting practice with competitions-Like the 84th biweekly game reflection and the 305th weekly game supplementary questions
Day021 Book management system (objects and arrays)
SIP协议栈学习之开始篇
渗透测试-域环境下的信息收集
Oracle并行检索
unshift() :将一个或多个元素添加到数组的开头
深度学习——以天气识别为例,探讨如何保存神经网络模型
C专家编程 第9章 再论数组 9.6 C语言的多维数组