劍指offer-例題 連續子陣列的最大和
題目描述
輸入一個整型陣列,陣列裡有正數也有負數。陣列中一個或連續的多個整陣列成一個子陣列,求所有子陣列的和的最大值,要求時間複雜度為O(n)
//動態規劃思想
public class Solution {
public int FindGreatestSumOfSubArray(int[] array) {
if(array==null||array.length==0)
return 0;
int[] sum=new int[array.length];//記錄以i結尾的子陣列的最大和
sum[0]=array[0];
for(int i=1;i<array.length;i++)
{
if(sum[i-1]<=0)//這個很重要
sum[i]=array[i];
else
sum[i]=sum[i-1]+array[i];
}
int max=array[0];
for(int i=1;i<array.length;i++)
{
if(max<sum[i])
max=sum[i];
}
return max;
}
}
相關文章
- 劍指Offer-連續子陣列中的最大和陣列
- 【劍指offer】連續子陣列的最大和陣列
- 劍指 Offer 42.連續子陣列的最大和陣列
- 劍指office--31. 連續子陣列的最大和陣列
- 《劍指Offer》- 連續子陣列的最大和或最小和陣列
- 劍指Offer:JZ30-連續子陣列最大和(解題思路+Java程式碼)陣列Java
- 連續子陣列的最大和陣列
- 牛客題霸--連續子陣列的最大和陣列
- Maximum Subarray 連續子陣列最大和陣列
- [每日一題] 第十五題:連續子陣列的最大和每日一題陣列
- JZ-030-連續子陣列的最大和陣列
- 每日一練(22):連續子陣列的最大和陣列
- 劍指offer-轉陣列的最小數字-php陣列PHP
- nowcoder-劍指offer-二維陣列的查詢陣列
- 劍指Offer-把陣列中的數排成一個最小的數陣列
- 劍指OFFER-數字在升序陣列中出現的次數(Java)陣列Java
- 【演算法拾遺】三種方法求連續子陣列的最大和演算法陣列
- 雙指標查詢陣列的連續規律子陣列問題指標陣列
- 一維子陣列最大和陣列
- 劍指OFFER-從頭到尾列印連結串列(Java)Java
- 最短無序連續子陣列陣列
- 劍指offer-用兩個棧實現佇列-php佇列PHP
- 劍指offer-從尾到頭列印連結串列-phpPHP
- 最大連續子陣列和的實現陣列
- 求子陣列的最大和問題陣列
- 演算法學習-零子陣列,最大連續子陣列演算法陣列
- 最大連續子陣列和求解問題(C語言)陣列C語言
- Google 面試題 | 3個非重複子陣列最大和Go面試題陣列
- 劍指offer-字串空格替換為“ ”字串
- 劍指 offer(1) -- 陣列篇陣列
- 【劍指offer】陣列中的逆序對陣列
- 求子陣列的最大和陣列
- 【劍指offer】 第三題 二維陣列查詢陣列
- leetcode最短無序連續子陣列LeetCode陣列
- 最大連續子陣列和(最大子段和)陣列
- 給出一個由[-100,100]之間整陣列成的陣列,求其相加和最大的連續子陣列 輸入 一個連續整陣列成的陣列 輸出 子陣列相加的最大值 樣例輸入 -......陣列
- 劍指 offer 第一題: 二維陣列中的查詢陣列
- 【劍指offer】把陣列排成最小的數陣列