*逍遥*

代码改变世界!!!

二维数组中求最大子数组设计思路

M*N的二维数组,详细思路步骤如下:

  1. i,j,m,n分别为子数组的开始的下标和结束的下标(分别为矩形左上角,右上角,左下角,右下角,i,m为行,j,n为列),MAX记录最大值,SUM记录子数组的值。
  2. i=0,j=0,m=i,n=j,i,j,m,n数值不变,求此时数组的值,赋值给SUM,与MAX比较,SUN>MAX,SUM赋值给MAX,SUM<=MAX,MAX值不变。
  3. i,j,m不变,n一次变大且小于N,依次求子数组的值,求此时数组的值,赋值给SUM,与MAX比较,SUN>MAX,SUM赋值给MAX,SUM<=MAX,MAX值不变,到n=N时结束。
  4. i,j,不变,m加1,重新执行第三部。
  5. i,j,不变,当m<=M时,重复第四部,到m=M时结束。
  6. i不变,j加1,重复3,4,5。
  7. i不变,重复第六步,到j=N,结束。
  8. i加1,重复第七步。
  9. 重复第八步,知道i=M。结束。
  10. 记录输出MAX值,四层循环结束。

 

 

 

                                                                  设计者 

                                                     薛禄坤            孙存良

posted on 2014-03-27 16:47  *逍遥*  阅读(172)  评论(0编辑  收藏  举报

导航