题解 | #Redraiment的走法#
Redraiment的走法
https://www.nowcoder.com/practice/24e6243b9f0446b081b1d6d32f2aa3aa
#include <iostream>
#include <vector>
#include <bits/stdc++.h>
#include<algorithm>
using namespace std;
int main() {
int max=0;
int n=0;
cin>>n;
int *a=new int[n];
for(int i=0;i<n;i++)
{
cin>>a[i];
}
vector<int>b(n,1);//a数组初始值全为1
for(int i=0;i<n;i++)
{
int r=a[i];//当前点大小
for(int j=i+1;j<n;j++)
{
if(a[i]<a[j]&&b[j]<=b[i])//后边比前边的大,且跳数需要比前边大才更新
{
b[j]=b[i]+1;//继承b[i]的加一步,更新
}
}
}
int m=b[0];
for(int i=0;i<n;i++)
{
m=std::max (m,b[i]);
}
cout<<m;
}
// 64 位输出请用 printf("%lld")


