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;
    }
};

运行结果


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

相关推荐
老歌老听老掉牙4 小时前
16宫格属性分析系统:打造专业级科学数据可视化工具
c++·qt·可视化
嵌入式小能手4 小时前
飞凌嵌入式ElfBoard-系统信息与资源之休眠
c语言·开发语言·算法
橘子师兄4 小时前
C++AI大模型接入SDK—API接入大模型思路
开发语言·数据结构·c++·人工智能
CSDN_RTKLIB4 小时前
【字符编码】拷贝的是字符还是字节序列
c++
GEO科技4 小时前
氧气科技入选IAB《中国品牌出海生态全景图》:以GEO+GEM双引擎,重构AI搜索时代的全球化品牌护城河
经验分享
历程里程碑4 小时前
哈希3 : 最长连续序列
java·数据结构·c++·python·算法·leetcode·tornado
闻缺陷则喜何志丹4 小时前
【图论】P9661 [ICPC 2021 Macao R] Sandpile on Clique|普及+
c++·算法·图论·洛谷
么么...4 小时前
系统性 MySQL 优化:性能分析、索引设计与失效场景全解
数据库·经验分享·sql·mysql
2401_841495645 小时前
【LeetCode刷题】两两交换链表中的节点
数据结构·python·算法·leetcode·链表·指针·迭代法
SunnyDays10115 小时前
使用 Python 自动查找并高亮 Word 文档中的文本
经验分享·python·高亮word文字·查找word文档中的文字