求最大子数组03

题目:

    返回一个二维整数数组中最大联通子数组的和。

 

要求:

   1. 输入一个二维整形数组,数组里有正数也有负数。 求所有子数组的和的最大值。要求时间复杂度为O(n)。    

   2.程序要使用的数组放在一个叫 input.txt 的文件中, 文件格式是: 数组的行数, 数组的列数, 每一行的元素, (用逗号分开) 每一个数字都是有符号32位整数,当然,行数和列数都是正整数。

 

代码:

#include<iostream>
#include<fstream>
using namespace std;
/*
//求一维数组子数组和的最大值
*/
int getMax(int j,int *array,int &first,int &last,int col)//first、last为起始元素和最终元素位置
{int sum = 0, max = 0;int a[100];for (j = 0; j < col; j++){sum = sum + array[j];a[j] = sum;if (sum < 0)//和为正数时
        {sum = 0;}if (sum > max){max = sum;if (max == 0)//和为负数时
            {sum = sum + array[j];if (sum > max){max = sum;}}}if (a[j - 1] < 0 ){first = j;}if (a[j] == max){last = j;}}return max;
}int main()
{int i, j,map[100][100];int array[100];int max_row[100];int M[100];int max = 0;int first_num=0;int last_num=0;int row,col;ifstream infile("input.txt",ios::in);if(!infile){cerr<<"open error!"<<endl;exit(1);}infile >> row;infile >> col;for(i = 0; i < row; i++){for(j = 0; j < col;j++){infile >> map[i][j];}}cout << "array:"<<endl;for (i = 0; i < row; i++){for (j = 0; j < col; j++){cout << map[i][j]<<" ";}cout << endl;}cout << endl;for (i = 0; i < row; i++){for (j = 0; j < col; j++){array[j] = map[i][j];}max_row[i]=getMax(j, array,first_num,last_num,col);//求每一行的子数组和的最大值cout << max_row[i] << endl;//每行最大元素cout << "first element" << first_num + 1 << endl;cout << "last element" << last_num + 1 << endl;}for (i = 0; i < row; i++){if (map[i][last_num] >= map[i + 1][first_num] || map[i][first_num] <= map[i+1][last_num]){M[i] = max_row[i] + max_row[i+1];if (M[i] > max){max = M[i];}}}cout << "sum of max connected array:" << max;return 0;
}

 

我的结队开发队友 信1301-1 刘伟

  

转载于:https://www.cnblogs.com/xiaoxt/p/5351333.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/255618.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead.

使用VS2005以上版本&#xff08;VS2005、VS2008、VS2010&#xff09;编译在其他编译器下正常通过的C语言程序&#xff0c;你可能会遇到类似如下的警告提示&#xff1a;引用内容 warning C4996: strcpy: This function or variable may be unsafe. Consider using strcpy_…

纠错——【Singleton array array(0.2) cannot be considered a valid collection.】

# 将数据集按照比例划分为训练集和测试集 def split_datas(datas,labels,random_state1,train_size0.9,test_size0.1):train_data, test_data, train_label, test_label sklearn.model_selection.train_test_split(datas,labels,random_staterandom_state,# 作用是通过随机数来…

Android Studio 模拟器 不要皮肤,效果更好

新建或者编辑虚拟机时&#xff0c;皮肤选择“No Skin”即可&#xff0c;第二张图片就是无皮肤的效果&#xff0c;看着更爽啊。 转载于:https://www.cnblogs.com/toSeeMyDream/p/6265501.html

SqlServer自定义排序

在实际项目中&#xff0c;有时会碰到数据库SQL的特殊排序需求&#xff0c;举几个例子&#xff0c;作为参考。 1、自定义优先级 一种常见的排序需求是指定某个字段取值的优先级&#xff0c;根据指定的优先级展示排序结果。比如如下表&#xff1a; Create TABLE Fruit (id INT ID…

JAVA 笔记(三)

NullPointerException:空指针异常 原因&#xff1a;数组已经不再指向堆内存了。而你还用数组名去访问元素。对于查找问题&#xff0c;如果找到就返回其索引值&#xff0c;如果找不到就要返回一个负数&#xff08;一般是负一&#xff09;这是必须的&#xff0c;否则如果找不到&a…

ERROR: SampleCB() - buffer sizes do not match 解决方法

笔记本有内置摄像头。Windows7驱动已经安装成功&#xff0c;利用QQ测试摄像头正常。但是利用OpenCV简单的摄像头操作后&#xff0c;就会出现ERROT: SampleCB() - buffer sizes do not match的问题。下面是代码&#xff1a; #include<iostream> #include <opencv2/co…

安装Wamp后 Apache无法启动的解决方法

安装Wamp后 Apache无法启动的解决方法&#xff0c;网上的解决方案可以说是五花八门&#xff0c;有些说了一大推&#xff0c;一点作用都起不到。 其实解决方法只需两步&#xff1a; 1、安装路径不能包含有中文&#xff0c;这个我不知道为什么&#xff0c;总之如果安装路径中包含…

MySQL的my.cnf文件(解决5.7.18下没有my-default.cnf)

官网说&#xff1a;从5.7.18开始不在二进制包中提供my-default.cnf文件。参考&#xff1a;https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html 经过测试&#xff0c;在5.7.18版本中&#xff0c;使用tar.gz安装时&#xff0c;也就是压缩包解压出来安装这种&…

【Not all parameters were used in the SQL statement】

在添加游标的时候&#xff0c;添加preparedTrue cursor mydb.cursor(preparedTrue) 感谢博主&#xff1a; 【已解决】Python MySQL: Not all parameters were used in the SQL statement - MoonYear530 - 博客园一、事故缘起 今天构造了一个超过 50 多个参数的 SQL 插入语句…

opencv 文件模块 解析

OpenCV包括以下几个模块&#xff0c;具体功能是&#xff1a; 1、CV&#xff1a;主要的OpenCV函数 2、CVAUX&#xff1a;辅助的&#xff08;实验性的&#xff09;OpenCV函数 3、CXCORE&#xff1a;数据结构与线性代数支持 4、HIGHGUI&#xff1a;图像界面函数 5、ML&#xff1a;…

解决Android Studio报错:DefaultAndroidProject : Unsupported major.minor version 52.0

问题描述 今天使用Android Studio 2.0打开我之前的项目时&#xff0c;编译报了如下错误&#xff1a; Error:Cause: com/android/build/gradle/internal/model/DefaultAndroidProject : Unsupported major.minor version 52.0 其中build.gradle文件内容如下所示&#xff1a; // …

Alpha 通道的概念与功能

RGBA采用的颜色是RGB&#xff0c;可以属于任何一种RGB颜色空间&#xff0c;但是Catmull和Smith在1971至1972年间提出了这个不可或缺的alpha数值&#xff0c;使得alpha渲染和alpha合成变得可能。提出者以alpha来命名是源于经典的线性插值方程αA (1-α)B所用的就是这个希腊字母…

【ValueError: Target is multiclass but average=‘binary‘. Please choose another average setting, one 】

完整报错为&#xff1a;ValueError: Target is multiclass but averagebinary. Please choose another average setting, one of [None, micro, macro, weighted]. 解决方法 对于多分类任务&#xff0c;将 from sklearn.metrics import f1_score f1_score(y_test, y_pred) 改为…

debian apt-get联网安装mysql服务

安装mysql和卸载mysql 1.安装数据库&#xff1a;sudo apt-get install mysql-server 安装过程中需要设置密码。 2.安装客户端&#xff1a;sudo apt-get install mysql-client 3.登录MySQL&#xff1a;mysql -u root -p 4.配置文件&#xff1a;/etc/mysql/my.cnf a.设…

【资料下载区】【iCore、 iCore2相关资料】更新日期2017/1/11

【新产品发布】【iCore2 ARM / FPGA 双核心板】 【iCore系列核心板视频教程】之 SDRAM 读写实验 【iCore双核心组合是开发板例程】【uCGUI 例程及代码包下载】【iCore双核心组合是开发板例程】【12个 verilog 中级实验例程发布】【iCore、iCore2 双核心板】EPCS 实验&#xff0…

图像数据格式基础知识

JPEG文件格式简单分析 作者&#xff1a;小爽 摘要&#xff1a; 这篇文章大体上介绍了JPEG文件的结构信息以及它的压缩算法和编码方式。使读者能够对JPEG文件格式有大体上的了解。为读者进一步进行学习JPEG文件压缩做好准备 关键字&#xff1a;十六进制&#xff0c;段格式&am…

SQL语句:从一个表里按年份统计条目数

比如一个数据表名称叫deploypool&#xff0c; 需要知道里面每一年的记录数&#xff0c; 而add_date字段里有增加记录时的时间&#xff0c; 那么语句如下&#xff1a; SELECT EXTRACT(YEAR from add_date),COUNT(id) FROM deploypool GROUP BY EXTRACT(YEAR from add_date);

为什么需要架构图,怎么画?

Technorati 标签: 架构图,架构,交流,布局不知不觉中做架构师也已经4年了&#xff0c;最初的感觉只是一个名号&#xff0c;不再把代码作为强制的任务&#xff0c;后来开始慢慢的转变工作内容。画图&#xff0c;成为了我的主要工作。我可能不是每天都在写代码&#xff0c;但却是每…

Jenkins构建时间Poll Scm的设置(常用设置)

每15分钟构建一次&#xff1a;H/15 * * * * 或*/5 * * * * 每天8点构建一次&#xff1a;0 8 * * * 每天8点~17点&#xff0c;两小时构建一次&#xff1a;0 8-17/2 * * * 周一到周五&#xff0c;8点~17点&#xff0c;两小时构建一次&#xff1a;0 8-17/2 * * 1-5 每月1号、15号…

图像格式基础

所谓位映像&#xff0c;即是指一个二维的像素矩阵&#xff0c;而位图就是采用位映像方法显示和存储图像。一幅图像的显示就是将图像的像素映射到屏幕的像素上并显示一定的颜色。当一幅图形的像素由彩色表示时就是我们通常所说的彩色图像了。 由于数字图像可以表示为矩阵…