輸入第一行有乙個整數n(n <= 1000),為陣列元素的個數。第二行有n個整數,整數之間以乙個空格分開。輸出輸出最長平台的長度。樣例輸入
1 2 2 3 3 3 4 5 5 6
樣例輸出
#include
using namespace std;
int main()
int a[1001],n;
cin>>n;
for(int i=0;i
cin>>a[i];
int k=1,max=1;
for(int i=0;i
if(a[i]==a[i+1])
k++;
if(k>=max)
max=k;
else
k=1;
cout<
return 0;
#include
using namespace std;
int a[1001],n;
int f(int x, int n)
int length = 1;
for (int i = 1; i < n; i++)
if (x[i] == x[i-length])
length++;
return length;
int main()
cin>>n;
for(int i=0;i
cin>>a[i];
cout<
return 0;
最大連續和
這個問題對我來說還挺難的,當初做dp時水過去了,但沒徹底理解,這次打算好好分析一下,爭取徹底搞懂。首先,像 1 1 2 2 3 3 4 4 5 5這樣的數列,想要找連續最大和,可以有很多種方法,從最慢的列舉o n 3 到最快的動態規劃o n 毫無疑問,我們要選擇複雜度低的演算法。所以我這裡就只分析兩...
最大連續和
求陣列中數的最大連續和,如 1,1,1,1,1 最大連續和為3 一 動態規劃 當我們從頭到尾遍歷這個陣列的時候,對於陣列裡的乙個整數,它有幾種選擇呢?它只有兩種選擇 1 加入之前的subarray 2.自己另起乙個subarray。那什麼時候會出現這兩種情況呢?設狀態為f j 表示以s j 結尾的最...
最大連續和
給出乙個長度為n的序列a1,a2,an,求最大連續和 使用列舉 時間複雜度o n 3 best a 1 初始最大值 for int i 1 i n i 設si a1 a2 ai,則ai ai 1 aj sj si 1 連續子串行的和等於兩個字首之差 時間複雜度o n 2 s 0 0 for int ...