最大上升子序列长度
1 //最长上升子序列 ,今晚偶尔想起来做了下,已经OJ测试 2 #include <iostream> 3 #include <cstring> 4 using namespace std; 5 6 int a[100]; 7 //a数组记录以j为结尾的 长度 8 void solve(int *ans,int n) 9 { 10 int i,j,k; 11 a[0] = 1; 12 for(i=1; i<n; i++)//必须从头开始算 13 { 14 for(j=0; j<i; j++) 15 { 16 if(ans[j]<ans[i]&&(a[i]<(a[j]+1))) 17 a[i] = a[j] + 1; 18 } 19 } 20 } 21 22 int main() 23 { 24 int i,j,k; 25 int ans[100]; 26 int n; 27 while(cin>>n) 28 { 29 memset(a,0,sizeof(a)); 30 for(i=0; i<n; i++) 31 cin>>ans[i]; 32 solve(ans,n); 33 cout<<a[n-1]<<endl; 34 } 35 return 0; 36 }
请将不如激将!
因为公事只自己得利了那叫谋私利,若大家都得利了,那叫谋福利!
作者:火星十一郎
本文版权归作者火星十一郎所有,欢迎转载和商用,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.