程序:
#include <iostram>
using namespace std;
int main()
{
const int SIZE = 10;
int heigth[SIZE],num[SIZE],n,ans;
cin>>n;
for(int i=0;i<n;i++){
cin>>height[i];
num[i]=1;
for(int j=0;j<i;j++){
if((height[j]<height[i])&&(num[j]>=num[i])){
num[i]=num[j]+1;
}
}
}
ans=0;
for(int i=0;i<n;i++){
if(num[i]>ans) ans=num[i];
}
cout<<ans<<endl;
return 0;
}
错题一:
程序ans小于或等于n。 ()
正确答案:对。
解析:
ans是最长上升子序列的长度。
错题二:
10
3 2 5 11 12 7 4 10 15 6
因程序输出结果()
A.2 B.3 C.4 D.5
正确答案:D
解析:
找一遍最长上升子序列并计算长度。