问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

java 求最大子序列和问题递归求解报越界异常

发布网友 发布时间:2022-04-14 12:02

我来回答

2个回答

懂视网 时间:2022-04-14 16:23

问题描述: 输入一组整数,求出这组数字子序列和中最大值。也就是只要求出最大子序列的和,不必求出最大的那个序列。例如: 序列:-2 11 -4 13 -5 -2,则最大子序列和为20。 序列:-6 2 4 -7 5 3 2 -1 6 -9 10 -2,则最大子序列和为16。 下面依次给出几个不

问题描述:

输入一组整数,求出这组数字子序列和中最大值。也就是只要求出最大子序列的和,不必求出最大的那个序列。例如:

序列:-2 11 -4 13 -5 -2,则最大子序列和为20。

序列:-6 2 4 -7 5 3 2 -1 6 -9 10 -2,则最大子序列和为16。

下面依次给出几个不同实现算法

int MaxSubseqSum1( int A[], int N )//算法1 T( N ) = O( N3 )
{
 int ThisSum, MaxSum = 0;
 int i, j, k;
 for( i = 0; i < N; i++ ) /* i是子列左端位置*/
 {
 for( j = i; j < N; j++ ) /* j是子列右端位置*/
 {
  ThisSum = 0; /* ThisSum是从A[i]到A[j]的子列和*/
  for( k = i; k <= j; k++ )
  ThisSum += A[k];
  if( ThisSum > MaxSum ) /* 如果刚得到的这个子列和更大*/
  MaxSum = ThisSum; /* 则更新结果*/
 } /* j循环结束*/
 } /* i循环结束*/
 return MaxSum;
}

int MaxSubseqSum2( int A[], int N ) //算法2T( N ) = O( N2 )
{
 int ThisSum, MaxSum = 0;
 i【本文来自鸿网互联 (http://www.68idc.cn)】nt i, j;
 for( i = 0; i < N; i++ ) /* i是子列左端位置*/
 {
 ThisSum = 0; /* ThisSum是从A[i]到A[j]的子列和*/
 for( j = i; j < N; j++ ) /* j是子列右端位置*/
 {
  ThisSum += A[j];
  /*对于相同的i,不同的j,只要在j-1次循环的基础上累加1项即可*/
  if( ThisSum > MaxSum ) /* 如果刚得到的这个子列和更大*/
  MaxSum = ThisSum; /* 则更新结果*/
 } /* j循环结束*/
 } /* i循环结束*/
 return MaxSum;
}
 
 int MaxSubseqSum4( int A[], int N ) //算法4T( N ) = O( N2 )
{
 int ThisSum, MaxSum;
 int i;
 ThisSum = MaxSum = 0;
 for( i = 0; i < N; i++ )
 {
 ThisSum += A[i]; /* 向右累加*/
 if( ThisSum > MaxSum )
  MaxSum = ThisSum; /* 发现更大和则更新当前结果*/
 else if( ThisSum < 0 ) /* 如果当前子列和为负*/
  ThisSum = 0; /* 则不可能使后面的部分和增大,抛弃之*/
 }
 return MaxSum;
}//“在线”的意思是指每输入一个数据就进行即时处理,在任 何一个地方中止输入,算法都能正确给出当前的解。

算法3---分治法

热心网友 时间:2022-04-14 13:31

第二个测试用例中,空数组的长度为0
return
maxSubSumRec(array,0,array.length-1);
这就导致这一步调用传入的实参为
return
maxSubSumRec(array,0,-1);
所以,导致数组越界。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
蛋糕在冰箱可以放多久 最正宗的普洱茶泡法是怎样泡的 泡茶方法和步骤 怎么区分英语中宾语的补语和状语? 句子是什么从句(英语)请个个举例。定状时表名词性等, 最主要的就是怎么... 如何分辨英语的定语从句呢? 如何分辨是什么从句 为什么1156平台像非主流? TCL电视机不能开机怎么办? 29寸TCL彩电开机刚亮又自动关机 肺炎双球菌转化实验是在什么实验的基础上进行的其目的是证明 肺炎双球菌实验证明了DNA是遗传物质,蛋白质不是遗传物质。(要权威) 肺炎双球菌的转化实验是什么? 肺炎双球菌是否有细胞膜?遗传物质是什么?是否遵循孟德尔遗传定律?为什么? 肺炎球菌就是肺炎链球菌吗?两者有什么关系? 肺炎双球菌具有的生物膜是什么 肺炎双球菌含有什么细胞器 肺炎链球菌与肺炎双球菌是不是一种病菌?若不是怎么区别? 肺炎双球菌肺炎是什么意思 肺炎双球菌具有的细胞器是什么?其控制性状的物质是什么 结核杆菌和肺炎双球菌 分别是什么生物,原核 真核 肺炎双球菌和肺炎链球菌是怎么回事 两种细菌还是两种名称? 肺炎双球菌是什么?有没有细胞壁? 上古战魂魔腾值得买吗 LOL上古战魂梦魇 上古世纪 疾风战神2和3的区别 上古战神赵日天是谁,听说是从百度贴吧转战网易来的,大家有谁知道详情? 上古战神大约充多少钱能升到69级 魔兽7.0上古战神药水配方是什么 上古战神药水图纸在哪掉 上古战神作用于辛达苟萨之怒吗 我被捷信金融公司骗了,他说我的贷款额度有一万,已经批下来了,只要交500元的工本费就可以到账 隐藏在微信群里的人怎么找出来 oppo手机尺寸大小 我的台式XP系统电脑显示“网络电缆被拔出”,但我已经插好的了,为什么上不了网呢 3W的LED灯被塑料灯罩罩着 且在上面放一个纸质物品遮光 会影响散热吗 底部有一个口子没有遮住? 《英雄》背景音乐 做了病毒DNA检查,结果是UU阳HPV阴NGH阴CT阴,谁能帮我解答一下看究竟有问题没有啊 肺部良性肿瘤的症状有哪些? 请给予音乐方面的建议,用于抗洪抢险英雄事迹的诗朗诵的背景音乐,好的将有高分赠送! 关于支原体、衣原体真的治不好了吗? HPvs17e、能玩红警3吗? 《论人与人之间不平等的起因和基础》epub下载在线阅读,求百度网盘云资源 帮忙找下适合《梦中英雄》朗诵的背景音乐 。。急需 谁有3DMAX9.0英文版的注册机 在线求计算个3Dmax9.0英文版注册机生成码 3Dmax9.0激活码..... 3dmax9.0 麻烦帮忙算下,3dsmax9.0激活码~~谢谢啦。。。 在Autodesk 3ds Max 9.0,申请号是HGA1 A38T CRTX THKE T9YL GACW 谁帮我算出3DStudio MAX V9.0 的激活码 3DMAX9.0 注册机不能用
  • 焦点

最新推荐

猜你喜欢

热门推荐