最长递增子序列c++----动态规划

include<cstdio>
#include<iostream>
#include<vector>
using namespace std;

vector<int >m;
vector<int >n;


int main ()
{
 int k;
 while(scanf("%d",&k))
 {
   for(int i=0;i<k;i++)
   {
     int ii;
     cin>>ii;
     m.push_back(ii);
     n.push_back(1);
   }
   int sum=0;
   for(int i=0;i<k;i++)
   {
     for(int j=0;j<i;j++)
     {
       if(m[i]>m[j])
       {
         n[i]=max(n[i],n[j]+1);
       }
     }
     sum=max(sum,n[i]);
   }
   cout<<sum<<endl;
 }
 system("pause");
  return 0; 
}
发布了22 篇原创文章 · 获赞 1 · 访问量 578

猜你喜欢

转载自blog.csdn.net/baidu_37143827/article/details/104637451