[求助],有重谢
请帮忙,题为:考虑包含正整数的数组a ,函数fact(i,j)定义为a[i]到a[j]之间的连续元素之和。 其中i,j为数组下标,i<=j,开发一个递归程序,确定使fact(i,j)取得最大值 的i和j回复:(风之梦)题错了,小笨蛋,是包含正 整数,还有...
这也算难> 为什么不回去好好看看书? 谢谢大家了。[em17] int maxsubsum(int a,int left,int right)<BR>{<BR> int sum=0;<BR> if(left==right)sum=a[align=left]>0 ? a[align=left]:0;<BR> else{<BR> int center=(left+right)/2;<BR> int leftsum=maxsubsum(a,left,center);<BR> int rightsum=maxsubsum(a,center+1,right);<BR> int s1=0,left=0;<BR> for(int i=center;i>=left;i--){<BR> left+=a[i];<BR> if(lefts>s1)s1=lefts;<BR> }<BR> int s2=0,rights=0;<BR> for(int i=center+1;i<=right;i++){<BR> rights+=a[i];<BR> if(lefts>s2)s2=rights;<BR> }<BR> sum=s1+s2;<BR> if(sum<leftsum) sum=leftsum;<BR> if(sum<rightsum) sum=rightsum;<BR> }<BR> return sum;<BR>}<BR><BR><BR> 路过,顶一下页:
[1]
