代码改变世界

求二维数组的最大子数组之和

2014-03-31 13:02  冢爱朔月  阅读(163)  评论(2编辑  收藏  举报

思路:使用穷举法,动态的求到最大数组。

      定义ij分别作为行列,用i0,1.....n】,ji......n】枚举所有的可能,此时二维数组可以看做是一维数组,然后对每一种可能用DP求得最大数组。

 

 

 for(int i=0; i<n; i++)

 

    {

        set(Sum,0,sizeof(Sum));

 

        for(int j=i; j<n; j++)

 

        {

 

             for(int k=0; k<n; k++)

 

                Sum[k] += a[j][k];

 

            int Max = max(Sum, n);

 

            if(Max > max2)

 

                max2 = Max;

        }

 

    }

                                                                                                          小组成员:袁雪、王亚蕊