1. 程式人生 > >最長等差連續子數列

最長等差連續子數列

#include <iostream>
using namespace std;


int main(){
int T,N,x;
int a[101];
int b[100];
int i,j,count,temp;
cin>>T;
while(T--){
cin>>N;
for(i=0;i<N;i++){
cin>>x;
a[i]=x;
}
for(i=0;i<N;i++){
b[i]=a[i]-a[i+1];
}
temp=count=2;

for(i=0;i<N-1;i++){
if(b[i]==b[i+1]){
count++;
if(temp<count){
temp=count;
}
}else{count=2;}
}

cout<<temp<<endl;
}
system ("pause");
}

相關推薦

等差連續數列

#include <iostream>using namespace std;int main(){int T,N,x;int a[101];int b[100];int i,j,count,temp;cin>>T;while(T--){cin>

LintCode397:上升連續數列

給定一個整數陣列(下標從 0 到 n-1, n 表示整個陣列的規模),請找出該陣列中的最長上升連續子序列。(最長上升連續子序列可以定義為從右到左或從左到右的序列。) 樣例 給定 [5, 4, 2, 1,

【Codeforces Round 333 (Div 2)B】【貪心 多指標】Approximating a Constant Range 給定陣列 相鄰元素波動為1 求差值不超1的連續序列

When Xellos was doing a practice course in university, he once had to measure the intensity of an effect that slowly approached equilibrium. A good way to

上升連續序列(LintCode)

題目來源:LintCode 原題地址:http://www.lintcode.com/zh-cn/problem/longest-increasing-continuous-subsequence/

python_lintcode_397上升連續序列_56兩數之和

397最長上升連續子序列 題目 給定一個整數陣列(下標從 0 到 n-1, n 表示整個陣列的規模),請找出該陣列中的最長上升連續子序列。(最長上升連續子序列可以定義為從右到左或從左到右的序列。) 注意事項 time 樣例 給定 [5, 4, 2

動態規劃-----公共連續

牛牛有兩個字串(可能包含空格),牛牛想找出其中最長的公共連續子串,希望你能幫助他,並輸出其長度。 輸入描述: 輸入為兩行字串(可能包含空格),長度均小於等於50 輸出描述: 輸出為一個整數,表示最長

求兩字串公共連續串---C++程式設計

題目:有兩個字串(可能包含空格),找出其中最長的公共連續子串,並輸出其長度。  輸入描述:輸入為兩行字串(可能包含空格),長度均小於等於50。 輸出描述:  輸出為一個整數,表示最長公共連續子串的

LintCode- 上升連續序列

最長上升連續子序列 給定一個整數陣列(下標從 0 到 n-1, n 表示整個陣列的規模),請找出該陣列中的最長上升連續子序列。(最長上升連續子序列可以定義為從右到左或從左到右的序列。) 樣例 給定 [5, 4, 2, 1, 3], 其最長上升連續子序列(

現有一個01串s,找出一個連續串。

 描述:  如果一個01串任意兩個相鄰位置的字元都是不一樣的我們就叫這個01串為交錯01串。  例如:“1”,“10101”,“0101010”都是交錯01串。  現有一個01串s,找出一個最長的連續

[算法]連續數組和,重復

name public 個數 enc har 最長 連續 null static 這兩道題是我在面試中親身經歷的,在面試滴滴的過程中,我遇到過最大子數組和,在面試阿裏的過程中,我遇到過最長重復子串。 1. 最大子數組和 比如,給定一個數組, 1, -2, 3, -4,

連續序列和/不下降序列/公共序列/迴文

//最大連續子序列和 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int maxn = 10010; int A[maxn],dp[maxn]; int main(){ int

連續數列和(線上處理演算法)

問題描述 最大連續子數列和一道很經典的演算法問題,給定一個數列,其中可能有正數也可能有負數,我們的任務是找出其中連續的一個子數列(不允許空序列),使它們的和儘可能大。我們一起用多種方式,逐步優化解決這個問題。 暴力方法 求出所有可能連續子列的和,時間複

Leetcode-字串問題--的公共字串長度--可不連續--#583

原題為刪除兩個字串的不同部分使兩個字串相同,求刪除的步數。 反向推理即為求兩個字串中的最長的公共部分,這個公共部分可不連續,然後利用動態規劃求解這個問題。 實際官網講解: 當i ==0 || j ==0: dp(i,j)=0; 當word1[i]!=word2[j]: d

NOJ 1526 等差序列

思路: 把所有公差離散出來(理論上公差個數應該有(n+1)*n/2 , 不過實際最多2000個) dp[i][j] 表示 公差為j ,以i下標為結尾的子序列 最優解 因為dp只需要考慮這次和上一次,所以用滾動陣列優化記憶體(即公差是N*N,也可以開出來) #includ

求一個數列數列中的每個數不相同)的不下降序列。

例如:整陣列成的數列為3,18,7,14,10,12,23,41,16,24。則3,18,23,24就是一個長度為4的不下降序列。同時還有3,7,10,12,16,24或3,7,10,12,23,41都是長度為6的最長不下降序列。 請編寫演算法求出一個數列的最

連續/連續遞減序列

一、題目描述 【題1】求一個數組的最長非連續遞減子序列 【題2】求一個數組的最長連續遞減子序列 二、解題思路 【題1】採用動態規劃的思想,設dp[i]為以i為終點元素的遞減子序列長度,則遞推公式為: dp[i] = max(dp[j]+1,dp[i]) (j<i

[dp]單調遞增序列

bsp 存在 ont for printf iss 需要 hellip 註意 https://www.51nod.com/tutorial/course.html#!courseId=12 解題關鍵: 如果將子序列按照長度由短到長排列,將他們的最大元素放在一起,形成新序

回文串解法

scrip 回文子串 index += substr bstr 應該 ges leetcode 原題地址:https://leetcode.com/problems/longest-substring-without-repeating-characters/#/des

[C++] 動態規劃之矩陣連乘、公共序列、大子段和、單調遞增序列

每次 種子 () return 避免 amp 可能 text com 一、動態規劃的基本思想   動態規劃算法通常用於求解具有某種最優性質的問題。在這類問題中,可能會有許多可行解。每一個解都對應於一個值,我們希望找到具有最優值的解。   將待求解問題分解成若幹個子問題,先求

【51NOD-0】1089 回文串 V2(Manacher算法)

lose 最長回文子串 gif () none print struct hide pac 【算法】回文樹 #include<cstdio> #include<algorithm> #include<cstring> using na