#include<stdio.h>
int maxSubArray(int num[],int n){//假设sum<=0,那么后面的子序列肯定不包含目前的子序列,所以令sum = num;
//如果sum > 0对于后面的子序列是有好处的。res = max(res, sum)保证可以找到最大的子序和。
int sum=0,res=num[0];
for(int i=0;i<n;i++){
if(sum>0){
sum+=num[i];
}
else{
sum=num[i];
}
res=max(sum,res);
}
return res;
}
void main(){
int a[20];
int n;
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
printf("%d",maxSubArray(a,n));
}
lc53-最大子序和
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 传送门 题目要求 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最...
- 解法一: 定义两个变量 max 和 tempSum,其中 max 保存最终要返回的结果,即最大的连续子数组之和。t...
- 前几天我和我先生产生了矛盾,感觉做什么都提不起精神。好几天过去,事情的起因都有些淡忘了,但那种如鲠在喉的感觉让自己...