Leetcode—768. 最多能完成排序的块 II【困难】

2024每日刷题(149)

Leetcode---768. 最多能完成排序的块 II

实现代码

cpp 复制代码
class Solution {
public:
    int maxChunksToSorted(vector<int>& arr) {
        // 分块
        // A | B
        // A 块中最大值肯定要小于 B 块中最小值!才能分块
        int ans = 1;

        int n = arr.size();
        vector<int> maxL(n);
        vector<int> minR(n);

        for(int i = 0; i < n; i++) {
            maxL[i] = i == 0 ? arr[0]: max(maxL[i - 1], arr[i]);
        }

        for(int i = n - 1; i >= 0; i--) {
            minR[i] = i == n - 1 ? arr[n - 1]: min(minR[i + 1], arr[i]);
        }

        // 在这里如果arr有n个元素, 那么最多切n-1块, 所以ans初始值是1, 即末尾最后一刀
        for(int i = 0; i < n - 1; i++) {
            if(maxL[i] <= minR[i + 1]) {
                ans++;
            }
        }
        return ans;
    }
};

运行结果


之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

相关推荐
xlp666hub4 小时前
Leetcode第七题:用C++解决接雨水问题
c++·leetcode
CoovallyAIHub4 小时前
CVPR 2026 | MixerCSeg:仅2.05 GFLOPs刷新四大裂缝分割基准!解耦Mamba隐式注意力,CNN+Transformer+Mamba三
深度学习·算法·计算机视觉
CoovallyAIHub5 小时前
YOLO26-Pose 深度解读:端到端架构重新设计,姿态估计凭什么跨代领先?
深度学习·算法·计算机视觉
CoovallyAIHub5 小时前
化工厂气体泄漏怎么用AI检测?30张图3D重建气体泄漏场景——美国国家实验室NeRF新研究
深度学习·算法·计算机视觉
肆忆_5 小时前
实战复盘:手写 C++ 虚拟机的高性能并行 GC (Thread Pool + Work Stealing)
c++
肆忆_5 小时前
虚函数进阶答疑:把上一篇博客评论区里最容易卡住的问题,一次追到底
c++
颜酱17 小时前
图的数据结构:从「多叉树」到存储与遍历
javascript·后端·算法
saltymilk21 小时前
使用 C++ 模拟 ShaderLanguage 的 swizzle
c++·模板元编程
zone77391 天前
006:RAG 入门-面试官问你,RAG 为什么要切块?
后端·算法·面试
CoovallyAIHub1 天前
OpenClaw 近 2000 个 Skills,为什么没有一个好用的视觉检测工具?
深度学习·算法·计算机视觉