動態規劃 連續子串行最大和

2021-07-11 21:56:33 字數 727 閱讀 8073

題目描述:

輸入乙個整型陣列,陣列裡有正數也有負數。

陣列中連續的乙個或多個整數組成乙個子陣列,每個子陣列都有乙個和。

求所有子陣列的和的最大值。要求時間複雜度為o(n)。

例如輸入的陣列為1, -2, 3, 10, -4, 7, 2, -5,和最大的子陣列為3, 10, -4, 7, 2,

因此輸出為該子陣列的和18。

子問題為以當前元素結尾的序列最大和

//遞迴方法:任何遞推公式都能轉化為遞迴.

public int maxsum(int data,int n)

//自頂向下記憶化方法

//用乙個陣列存放計算的值;

public int b=new int;

public int maxsum1(int data,int n)

if(b[n-1]==-100)//用陣列記憶化的方法!!!!!!

if(b[n-1]<=0)

else

return b[n];

}

//dp_自底向上的方法;index存放最大和子串行的首末下標。

public void maxsum_dp(int data,int n,int index)

}index[0]=start;

index[1]=end;

}

連續子串行最大和

這道題目使用最大和問題的分治演算法 package com.divide.cc author sunnyboy runtime is o nlogn public class sumsequence int maxsum maxsubsequencesum a system.out.println ...

動態規劃 連續子陣列的最大和

使用動態規劃 f i 以array i 為末尾元素的子陣列的和的最大值,子陣列的元素的相對位置不變 f i max f i 1 array i array i res 所有子陣列的和的最大值 res max res,f i 如陣列 6,3,2,7,15,1,2,2 初始狀態 f 0 6 res 6 ...

動態規劃搞最大和連續子陣列

給定乙個整數陣列 nums 找到乙個具有最大和的連續子陣列 子陣列最少包含乙個元素 返回其最大和。示例 輸入 2,1,3,4,1,2,1,5,4 輸出 6 解釋 連續子陣列 4,1,2,1 的和最大,為 6。剛看到這個題時,作為小白第一反應就是找到每乙個子陣列的和比較,那樣的話,就是三個for迴圈,...