zoukankan      html  css  js  c++  java
  • 数组求和(二)

    题目:求一个二维数组中的最大子数组的和

    分析:以前做过一个一位数组的求和,现在改为二维数组,复杂了很多,但基本思想不变。经过几天的讨论,与程序的修改,实现了题目的要求。源代码如下:

    package com.su.test;
           public class Hellosu {
        public static void main(String[] args)
        {
             //测试用例
          int b[][]={{3,4,-7},{7,2,0},{-11,3,0}};
          int max=maxSubMatrix(b,b.length,b[0].length);
          System.out.println(max); 
        }
        public static  int maxSubArray(int ar[],int n)    //一维数组最大子数组
        {
            int max=ar[0];
            int k[]=new int[3];
            int b=ar[0];
            int i;
            for(i=1;i<n;i++)
            {
               if(b>0)
               {
                   b+=ar[i];  
               }
               else
               {
                   b=ar[i];
               }
                
               if(b>max)
               {
                   max=b;
               }
            }  
            return max;
        }
        public static  int maxSubMatrix(int p[][],int m,int n)    //二维数组最大子矩阵
        {
              int i,j,k,max=p[0][0],tempt;
             //记录每行的和
             int last_i=0,last_j=0;
             int sum[]=new int[m];
            for(i=0;i<n;i++)
           {
                for(k=0;k<m;k++)
                 sum[k]=0;
                     for(j=i;j<n;j++)
                    {
                        for(k=0;k<m;k++)
                       {
                         sum[k]+=p[k][j];
                       }
                        tempt=maxSubArray(sum,m);
                        if(tempt>max)
                        {
                         last_i=i;
                         last_j=j;
                         max=tempt;
                        }
                    }
                }
              System.out.println("从第"+(last_i+1)+"列开始,到第"+(last_j+1)+"结束");
          return max;
        }
     }
    总结:结对开发是我们练习的重点,主要是形成一个习惯:能设计算法,并且具有可读性;能找出别人写的代码中的错误,或者能简化程序代码。
  • 相关阅读:
    spring cloud的pigx版本
    SQL Profiler使用
    postmen简单用法
    T-SQL
    常见问题整理
    数据库 新建维护计划
    c# ABP返回格式自定义,去除固定返回格式
    系统综合实践期末大作业 第32组
    系统综合实践第7次实践作业 第32组
    系统综合实践第6次实践作业 第32组
  • 原文地址:https://www.cnblogs.com/wuwei123/p/3611862.html
Copyright © 2011-2022 走看看