您的位置:首页 > 其它

最大递增子序列LIS

2015-04-02 00:27 288 查看
1、一串数据的最大递增序列,输出个数

例如 4,2, 6,3, 1,5,

最大递增序列为, 2,3, 5,输出3

#include <iostream>
using namespace std;

#define MAXN 100
int list[MAXN], dp[MAXN];

int max(int a, int b){
return a > b ? a : b;
}

int main(){
int x, index = 0;
while(cin >> x){
list[index++] = x;
}
for(int i = 0; i < index; ++i){
int tmax = 1;
for(int j = 0; j < i; ++j){
if(list[j] < list[i])
tmax = max(tmax, dp[j] + 1);
}
dp[i] = tmax;
}
int ans = 1;
for(int i = 0; i < index; ++i)
ans = max(ans, dp[i]);
cout << ans << endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: