首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >最大子序列和的接口函数(3)

最大子序列和的接口函数(3)

作者头像
心跳包
发布2020-08-31 10:24:37
发布2020-08-31 10:24:37
3590
举报
代码语言:javascript
复制
int MaxSubsequenceSum(const int A[],int N)
{
	int thisSum=0,MaxSum=0,j;

	for(j=0;j<N;j++)
	{
		thisSum+=A[j];
		printf("thisSum %d..A[%d]=%d\n",thisSum,j,A[j]);			
		if(thisSum>MaxSum)
		{
			MaxSum=thisSum;
			printf("MaxSum:%d\n",MaxSum);
		}
		else if(thisSum<0)
			thisSum=0;	
	}
	return MaxSum;
}
int main()
{
	int number[]={1,-1,3,4};
	int maxsum=0;
	
	printf("start ....\n");	
	maxsum=MaxSubsequenceSum(number,4);
	printf("maxsum:%d\n",maxsum);	
	exit(0);
}

运行得出结果

代码语言:javascript
复制
start ....
thisSum 1..A[0]=1
MaxSum:1
thisSum 0..A[1]=-1
thisSum 3..A[2]=3
MaxSum:3
thisSum 7..A[3]=4
MaxSum:7
maxsum:7

此算法的优点,它只对数据进行一次扫描,一旦A[j]被读入并处理,它就不再需要被记忆。在于它可以被顺序读入,在主存中不必存储数组任何部分,在任何时刻,算法都能对它已经读入的数据给出子序列问题的正确答案。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/04/24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档