上次的课堂编程题目是一维数组中子数组的和,现在难度加大了不少,二维数组需要考虑的方面很多,这个程序我是在上个课堂题目基础上加以改善完成的,核心代码如下:

int maxSubArray(int a[], int n){assert(a!=NULL && n>0);int cur = 0;int max = INF;for(int i=0; i<n; i++){cur += a[i];//当cur小于0时,应该重新开始计数.if(cur < 0)cur = 0;if(cur > max)max = cur;}return max;}int findMaxSubMatrix(int a[][N], int n){int tmpSum[N];int max = INF;//枚举所有行的可能组合。for(int i=0; i<n; i++){//将tmpSum清零。
memset(tmpSum,0,sizeof(tmpSum));for(int j=i; j<n; j++){//加上当前行的元素。for(int k=0; k<n; k++)tmpSum[k] += a[j][k];int tmpMax = maxSubArray(tmpSum, n);if(tmpMax > max)max = tmpMax;}}return max;}int main(){int a[N][N];int n = 0;while(cin>>n && n){for(int i=0; i<n; i++)for(int j=0; j<n; j++)cin>>a[i][j];cout<<findMaxSubMatrix(a, n)<<endl;}return 0;}

程序运行结果截图:

转载于:https://www.cnblogs.com/feiji/p/3608899.html

二维数组求子数组中最大的和相关推荐

  1. 求二维数组的子数组中的最大值!

    具体代码如下: #include<iostream> using namespace std; int maxSubMatrix_BF(int *a, int m, int n)  {  ...

  2. 二维数组联通子数组和最大

    题目要求: 返回一个二维整数数组中最大联通子数组的和. 输入一个二维整形数组,数组里有正数也有负数. 文件输出. 思路:和之前的动态规划相识,把二维数组转换为一维数组,先求每一个列的子数组和最大,最后 ...

  3. c语言二维数组对角线输出字符,用C编程一个4*4的矩阵,用二维数组,求对角线元素的和。,c语言如何使二维数组 输出为矩阵的形式...

    导航:网站首页 > 用C编程一个4*4的矩阵,用二维数组,求对角线元素的和.,c语言如何使二维数组 输出为矩阵的形式 用C编程一个4*4的矩阵,用二维数组,求对角线元素的和.,c语言如何使二维数 ...

  4. C语言求二维数组平均数,一道JavaScript的二维数组求平均数的题

    JavaScript中只支持一维数组,但是可以在数组中嵌套数组来创建二维以至于多维的数组.今天下午在看书时候,发现一道感觉比较有意思的题,就是js中如何求二维数组的列之和和行之和,现在就给大家分享下, ...

  5. 【chatGPT】01 数组、二维数组在不同语言中的存储方式

    问:数组在C++中的存储方式是什么?Java呢?Python呢?可以举例吗? C++ 在C++中,数组是连续分配的内存单元,具有相同的类型和大小. C++会将数组的第一个元素存储在指向数组的指针中,因 ...

  6. 定义一个二维数组,写函数来实现对该二维数组求最大值。(要求,用行指针为函数形参)

    // 121219 上机任务3.cpp : 定义控制台应用程序的入口点. // /* * Copyright (c) 2012, 烟台大学计算机学院 * All rights reserved. * ...

  7. 一个学习小组有5个人,每个人有三门课的考试成绩。将各个数据保存到二维数组a[5][3]中,并求全组分科的平均成绩和总平均成绩

    对二维数组的简单使用 #include<stdio.h> void main() {int i,j,sum,v[3],average;int a[5][3]={{80,75,92},{61 ...

  8. 二位数组的子数组最大值

    该题是poj的1050号题:http://poj.org/problem?id=1050 同时在<编程之美> 2.15 小节 思想是: 1.把二维降到一维,把 同一列的若干个数的和算出来, ...

  9. 二维数组求最大子矩阵的和

    题目:返回一个二维整数数组中最大子数组的和 要求: 输入一个二维整形数组,数组里有正数也有负数. 数组中连续的一个或多个正数组成一个子数组,每个子数组都有一个和. 设计思想: 将二维数组的所能组成的所 ...

最新文章

  1. python 把int类型转bytes以及把bytes 转int 类型(使用方法to_bytes ,from_byte, struct)
  2. linux启动关闭脚本,Linux下自动启动关闭Oracle脚本
  3. CF17E:Palisection——题解
  4. 互联网50周年!这有它的一张“出生证明”
  5. PHP之旅4 php 超全局变量
  6. c语言利用文件体写在桌面上,在C语言中怎样新建一个文件夹?
  7. java 调度框架_java调度框架Quartz(一)
  8. 四:Java+SpringBoot框架使用(两种携带参数的get接口开发)
  9. 【Copy攻城狮日志】借助Taro暴改Nideshop实现电商支付宝小程序雏形
  10. 仿淘宝Banner:左右滑动ViewPager+最后一张滑动查看详情
  11. java文本反垃圾_java毕业设计_springboot框架的反垃圾邮件管理分析系统
  12. 【通知】4月18日22:00至4月19日2:00网站服务暂停公告
  13. 语音识别-声纹识别-语音合成【专题三】
  14. 你迷茫的原因在于读书太少而想的太多,迷茫不知所措时,那就多读书吧!年轻是本钱,但不努力就不值钱
  15. Swift获取当前连接WIFI名称,IOS获取当前连接WIFI名称
  16. OpenGL核心技术之Gamma校正
  17. 丁香园php岗_丁香园面试药学新闻编辑岗位体悟
  18. php年会总结,2019年终总结(示例代码)
  19. caffe之(四)全连接层
  20. dom4j将word转pdf详细介绍(亲测可用)

热门文章

  1. 北斗导航 | 大规模点云地图的自动化构建(高翔:SLAM十四讲)
  2. 在通常的微型计算机的汉字系统中,计算机应用基础win7+office2010试题(三校生公共课3)...
  3. 语音增强效果的测试方法
  4. MySQL 笔记9 -- PyMySQL
  5. 分子生物学-共价键基础
  6. python3精要(8)-对象,变量,引用
  7. 【深度学习】用Pytorch给你的母校做一个样式迁移吧!
  8. 【NLP】Transformer的中年危机?
  9. 【机器学习】一位机器学习高手的个人技术书目
  10. 【Python基础】快速入门Python(讲解、习题)