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

fg926700 单选题 共 个子题
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;
}
A

9 7 5 1 1 9

B

1 2 2 3 4 4

C

1 3 5 7 9 9

D

1 1 1 1 1 1

正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧