#include<iostream>
#include<vector>
using namespace std;
//计算最长增长子序列的长度
int getMaxLen(vector<int> data){
int len = data.size();
int dp[len+1]={1};//辅助数组
int maxLen = 0;
for(int i=0;i<len;i++)
for(int j=i-1;j>=0;j--)
if(data[i]>data[j] && dp[i]<=dp[j]+1){
dp[i]=dp[j]+1;
if(maxLen<dp[i])
maxLen = dp[i];
}
return maxLen;
}
int main(){
int n;
while(cin>>n){
vector<int> v;
int w;
for(int i=0;i<n;i++){
cin>>w;
v.push_back(w);
}
cout<<getMaxLen(v);
}
}
计算最长增长子序列(简单,暴力法)
最新推荐文章于 2025-05-26 17:27:28 发布