二维数组最大子数组

早上突然就醒了。 

一维的就让我感到困难了,二维的简直是要我的命,感觉是自己的设计思路和思想有问题且不够灵活熟练,就是想不出来,问了同学好几次都不好意思了,只能自己慢慢琢磨代码了,偷了份代码过来看。

 
import java.util.Scanner;
 
public class erweishuzu {
 
    public static void main(String[] args) {
        int a[][];
        int i,j,l,h,n,k,sum,max;
      
        Scanner sc = new Scanner(System.in);
        System.out.print("行数:");
        h=sc.nextInt();
        System.out.print("列数:");
        l=sc.nextInt();
         
        a=new int[l][h];
        System.out.println("输入元素:");
        for(i=0;i<l;i++)
        {
            for(j=0;j<h;j++)
            {
              a[i][j]=sc.nextInt();
                 
                System.out.print(" ");
            }
            System.out.println("");
        }
        max=0;
        for(n=0;n<l;n++)
        {
            sum=0;
            for(i=0;i<l-n;i++)
            {
                sum=0;
                for(j=0;j<h;j++)
                {
                    for(k=i;k<=i+n;k++)
                    {
                        sum=sum+a[k][j];
                    }
                  
                    if(max<sum)
                    {
                        max=sum;
                    }
                }
            }
        }
        System.out.print(max);
                 
    }
}

截图:

我想当好一名程序员,但我开始迷茫了。

原文地址:https://www.cnblogs.com/sljslj/p/11055789.html