最大連續子串行乘積

2021-06-18 01:38:53 字數 658 閱讀 8403

推薦  

題目描述:

給定乙個浮點數序列(可能有正數、0和負數),求出乙個最大的連續子串行乘積。

輸入:輸入可能包含多個測試樣例。

每個測試樣例的第一行僅包含正整數 n(n<=100000),表示浮點數序列的個數。

第二行輸入n個浮點數用空格分隔。

輸入資料保證所有數字乘積在雙精度浮點數表示的範圍內。

輸出:對應每個測試案例,輸出序列中最大的連續子串行乘積,若乘積為浮點數請保留2位小數,如果最大乘積為負數,輸出-1。

樣例輸入:

7-2.5 4 0 3 0.5 8 -1

5-3.2 5 -1.6 1 2.5

5-1.1 2.2 -1.1 3.3 -1.1

樣例輸出:

1264

8.78

#include using namespace std;

int max(int a,int b,int c)

int min(int a,int b,int c)

//min = min

//max = max

void calc(int arr,int n){

int minvalue = arr[0];

int maxvalue = arr[0];

for(int i=1;i

最大連續子串行之和,最大連續子串行乘積

最大連續子串行之和問題描述為 陣列中里有正數也有負數,連續的乙個或多個整數組成乙個子陣列,每個子陣列都有乙個和,求所有子陣列的和的最大值。分析,對陣列a進行一遍掃瞄,sum i 為前i個元素中,包含第i個元素且和最大的連續子陣列,maxsum儲存當前子陣列中最大和,對於a i 1 來說,sum i ...

最大連續子串行乘積

問題描述 給定乙個整數序列 可能有正數,0和負數 求它的乙個連續最大子串行乘積,如果乘積為負數,輸出 1 分析 假設陣列為a,直接利用動歸來求解,考慮到可能存在負數的情況,我們用max i 來表示以a i 結尾的最大連續子串行的乘積值,用min i 表示以a i 結尾的最小的連續子串行的乘積值,那麼...

最大連續子串行乘積

最大連續子串行乘積和最大連續子串行和不同,這裡先回憶一下最大連續子串行和的最優解結構 我們用sum i 來表示以arr i 結尾的最大連續子串行和,則狀態轉移方程為 考慮存在負數的情況 ps 負負會得正 因此我們用兩個輔助陣列,max i 和min i max i 來表示以arr i 結尾的最大連續...