最大子串行

2022-09-12 09:57:16 字數 521 閱讀 1757

/*

題目描述

輸入n個元素組成的序列s,你需要找出乙個乘積最大的連續子串行,

如果這個最大的乘積不是正數,則輸出-1

輸入輸入包括多組資料,每組資料第一行為正整數n,第二行為n個元素組成的序列

s,1<=n<=18,-10<=si<=10

輸出輸出每組資料的結果後換行

樣例輸入

32 4 -3

52 5 -1 2 -1

樣例輸出820

*/ **如下:

1 #include2

using

namespace

std;

3long

long

int max(int *x,intn)4

16}17}

18return

max;19}

20int

main()21

36if(max<0 ) cout<<"-1"

<37else cout3940 }

最大子串行

模板 int maxsubsequence const int a,int n return maxsum 複雜度on 給定k個整數的序列,其任意連續子串行可表示為,其中 1 i j k。最大連續子串行是所有連續子串行中元素和最大的乙個,例如給定序列,其最大連續子串行為,最大和 為20。在今年的資料...

最大子串行

最大子串行是要找出由數組成的一維陣列中和最大的連續子串行。比如的最大子串行就是 它的和是8,達到最大 而 的最大子串行是,它的和是6。你已經看出來了,找最大子串行的方法很簡單,只要前i項的和還沒有小於0那麼子串行就一直向後擴充套件,否則丟棄之前的子串行開始新的子串行,同時我們要記下各個子串行的和,最...

最大子串行

maxsum最大子串行問題。其實是動態規劃問題,遞推式如下 s 1 a 1 s n s n 1 0?s n 1 a n a n 注意點 暴力是可以解決問題,但是時間肯定會超時。暴力就是把所有子串行都查一遍然後找乙個最大的。如序列為123456,它的所有子串行為 1 2 3 4 5 6 12 123 ...