求最大子數組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.pswp.cn/news/255618.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/255618.shtml
英文地址,請注明出處:http://en.pswp.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;而位圖就是采用位映像方法顯示和存儲圖像。一幅圖像的顯示就是將圖像的像素映射到屏幕的像素上并顯示一定的顏色。當一幅圖形的像素由彩色表示時就是我們通常所說的彩色圖像了。 由于數字圖像可以表示為矩陣…