算法小白求助,最长不下降子序列

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main() {
    int n;
    cin>>n;
    int max1=1;
    vector<int> a(n);
    vector<int> dp(n,1);
    for(int i=0;i<n;i++){
        cin>>a[i];
    }
    for(int i=1;i<n;i++){
        for(int j=0;j<i;j++){
            if(a[i]>=a[j]){
                dp[i]=max(dp[i],dp[j]+1);
            }
            else{
                dp[i]=max(dp[i],1);
            }
    }
    //dp[i] = *max_element(dp.begin(),dp.begin()+i+1);
}   
    int max_length = *max_element(dp.begin(), dp.begin()+n);

    cout << max_length << endl;
    
}
这样求最长非递减子序列是对的,想问问大佬们,为啥使用注释地方的语句用例不能通过呢
全部评论

相关推荐

迷茫的大四🐶:摊牌了,我是25届的,你们也不招我
点赞 评论 收藏
分享
哇哇的菜鸡oc:他这不叫校招offer,而是实习offer
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务