程式設計題 最大和

2021-08-14 07:02:45 字數 1097 閱讀 7548

內容會持續更新,有錯誤的地方歡迎指正,謝謝!

在乙個n*n的陣列中尋找所有橫,豎,左上到右下,右上到左下,四種方向的直線連續d個數字的和裡面最大的值

輸入描述:

每個測試輸入包含1個測試用例,第一行包括兩個整數 n 和 d :

3 <= n <= 100

1 <= d <= n

接下來有n行,每行n個數字d:

0 <= d <= 100

輸出描述:

輸出乙個整數,表示找到的和的最大值

輸入例子:

4 2

87 98 79 61

10 27 95 70

20 64 73 29

71 65 15 0

輸出例子:

193先計算橫的最大值,再計算豎的最大值,最後計算斜線的最大值。

#include 

using namespace std;

int main()

; for(int i=0;ifor(int j=0;j>arr[i][j];

int maxval=0;

int i=0,j=0,k=0;

intsum=0;

//橫著的情況

for(i=0;i//從0到n-1行

if(sum>maxval)

maxval=sum;}}

//豎著的情況

for(i=0;i//從0到n-1列

if(sum>maxval)

maxval=sum;}}

//左上到右下

for(i=0;i1;++i)//由於一定要是連續d個數的和,所以要排除d-1個數的和大於d個數的和的情況

if(sum>maxval)

maxval=sum;}}

//右上到左下

for(i=0;i1;++i)//由於一定要是連續d個數的和,所以要排除d-1個數的和大於d個數的和的情況

if(sum>maxval)

maxval=sum;}}

cout0;}

題 連續最大和

題目描述 乙個陣列有 n 個元素,求連續子陣列的最大和。例如 1,2,1 和最大的連續子陣列為 2,1 其和為 3。輸入描述 輸入為兩行。第一行乙個整數n 1 n 100000 表示一共有n個元素 第二行為n個數,即每個元素,每個整數都在32位int範圍內。以空格分隔。輸出描述 所有連續子陣列中和最...

最大和 最大子矩陣模板題

給定乙個由整數組成二維矩陣 r c 現在需要找出它的乙個子矩陣,使得這個子矩陣內的所有元素之和最大,並把這個子矩陣稱為最大子矩陣。例子 0 2 7 0?9 2 6 2?4 1 4 1?1 8 0 2?其最大子矩陣為 9 2?4 1?1 8?其元素總和為15。這個就是二維的最大連續和問題。我們可以通過...

微軟程式設計題之求子陣列的最大和

題目 輸入乙個整形陣列,陣列裡有正數也有負數。陣列中連續的乙個或多個整數組成乙個子陣列,每個子陣列都有乙個和。求所有子陣列的和的最大值。要求時間複雜度為o n 例如輸入的陣列為1,2,3,10,4,7,2,5,和最大的子陣列為3,10,4,7,2,因此輸出為該子陣列的和18。很簡單 include ...