最长单调递增子序列

 1 #include<iostream>
 2 #include<algorithm>
 3 using namespace std;
 4 int LIS(int nums[],int n)
 5 {
 6     int dp[n];
 7     int Max=dp[0]=1;
 8     for(int i=1;i<n;++i)
 9     {
10         dp[i]=1;
11         for(int j=0;j<i;++j)
12         {
13            if(nums[i]<=nums[j]) continue;
14             dp[i]=max(dp[i],dp[j]+1);
15         }
16         Max=max(dp[i],Max);
17     }                                                                                                                                                                            
18     return Max;
19 }
20 int main()
21 {
22 
23      int a[8]={65,158,170,155,239,300,207,389};
24      cout<<LIS(a,8);
25      return 0;
26 }

 

posted @ 2021-05-13 23:17  丁帅帅dss  阅读(68)  评论(0)    收藏  举报