leetcode 2826. 将三个组排序

题目如下

数据范围

复制代码
本题的意思是找几个数删除得到一个非递减的数列,
也可以反过来想其实就是找最长的递增子序列。
这里令f(i)为以i为结尾的子序列的长度。
则f(i) = max(f(j) + 1) 其中0 <= j < i

通过代码

cpp 复制代码
class Solution {
public:
    int minimumOperations(vector<int>& nums) {
        int n = nums.size();
        vector<int> dp(n,1);
        dp[0] = 1;
        int max1 = 1;
        for(int i = 1;i < n;i++){
            for(int j = 0;j < i;j++){
                if(nums[j] <= nums[i]){
                    dp[i] = max(dp[i],dp[j] + 1);
                }
            }
            max1 = max(max1,dp[i]);
        }
        return n - max1;
    }
};
相关推荐
Sunshine for you7 分钟前
C++中的职责链模式实战
开发语言·c++·算法
qq_4160187228 分钟前
C++中的状态模式
开发语言·c++·算法
2401_8845632429 分钟前
模板代码生成工具
开发语言·c++·算法
2401_8319207443 分钟前
C++代码国际化支持
开发语言·c++·算法
m0_672703311 小时前
上机练习第51天
数据结构·c++·算法
ArturiaZ1 小时前
【day60】
算法·深度优先·图论
2401_851272991 小时前
自定义内存检测工具
开发语言·c++·算法
☆5662 小时前
C++中的命令模式
开发语言·c++·算法
仰泳的熊猫2 小时前
题目2577:蓝桥杯2020年第十一届省赛真题-走方格
数据结构·c++·算法·蓝桥杯
CoovallyAIHub2 小时前
Pipecat:构建实时语音 AI Agent 的开源编排框架,500ms 级端到端延迟
深度学习·算法·计算机视觉