求陣列中連續子陣列的最大和

2021-06-09 20:01:53 字數 346 閱讀 6988

思路:

計算出任意i到j之間連續子陣列的和再比較必然能得到最大值,但時間複雜度為o(n^2),我們希望能找出線性時間的演算法。

我們注意到,假如陣列中全為正數,那麼最大和必然為全部數相加;如果陣列中有負數,並且如果加上某個負數,子陣列的和小於0,則最大和子陣列必然不包含這個負數。 基於此,給出以下**:

#include int getmaxsum(int a,int m)

} return max;

}void main();

int max=getmaxsum(a,8);

printf("%d",max);

}

演算法題 求陣列中 連續子陣列最大和

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

陣列中連續子陣列的最大和

簡要解析 的連續子陣列最大值為40。從9到6的連續子陣列的和,為最大子陣列和 package com.zzh public class main int result maxarray array system.out.println 連續最大值為 result public static intm...

求陣列非連續子串行的最大和

題目描述 1.乙個整數陣列l,如 l 2,3,3,50 求 l的乙個非連續子串行,使其和最大,輸出最大子串行的和。這裡非連續子串行的定義是,子串行中任意相鄰的兩個數在原序列裡都不相鄰。例如,對於 l 2,3,3,50 輸出 52 分析 很明顯,該列表最大非連續子串行為 2,50 測試例子 l 2,3...