第22626题 单选题
求给定最长上升子序列C++代码在输入`5 1 7 3 5 9`后的输出结果

下面代码可以用来求最长上升子序列(LIS)的长度,如果输入是: 5 1 7 3 5 9 ,则输出是( )。

int a[2023], f[2023];
int main()
{
    int n,i,j,ans = -1;
    cin>>n;
    for( i=1; i<=n; i++){
        cin >> a[i];
        f[i] = 1;
    }
    for( i=1; i<=n; i++)
        for( j=1; j<i; j++)
            if(a[j] < a[i])
                f[i] = max(f[i], f[j]+1);
    for( i=1; i<=n; i++){
        ans = max(ans, f[i]);
        cout << f[i] << "  ";
    }
    cout << ans << endl;
    return 0;
}
{{ option.label }}
子题{{ index + 1 }} {{ child.type_label }}
{{ option.label }}
✓ 正确 ◐ 部分正确 ✗ 错误
程序运行统计
暂无判题统计
提交{{ questionInfo.stats ? questionInfo.stats.submit_count : 0 }}次 正确率{{ statsAccuracy }}%
答案解析