LeetCode - 1702. 修改后的最大二进制字符串

文章目录


题目链接:LeetCode - 1702. 修改后的最大二进制字符串


解析

详细题解:贪心,简洁写法(Python/Java/C++/Go/JS/Rust)

思路很牛b。

简单来说我们需要想办法将0配对,将其变为10,对于单个的0,我们需要用10->01这个操作将后面的0冒泡到前面进行配对。


AC CODE

cpp 复制代码
char* maximumBinaryString(char* binary) {
    int n = strlen(binary);
    int cnt = 0;
    int mark = 0;
    for(int i = 0; i < n; ++i){
        if(binary[i] == '0') mark = 1;
        if(mark && binary[i] == '1') cnt++;
    }

    if(cnt == 0 && mark == 0) return binary;

    for(int i = 1; i <= n; ++i){
        if(i == n - cnt) binary[i - 1] = '0';
        else binary[i - 1] = '1';
    }

    return binary;
}
相关推荐
爱吃生蚝的于勒2 分钟前
深入学习指针(5)!!!!!!!!!!!!!!!
c语言·开发语言·数据结构·学习·计算机网络·算法
羊小猪~~6 分钟前
数据结构C语言描述2(图文结合)--有头单链表,无头单链表(两种方法),链表反转、有序链表构建、排序等操作,考研可看
c语言·数据结构·c++·考研·算法·链表·visual studio
王哈哈^_^31 分钟前
【数据集】【YOLO】【VOC】目标检测数据集,查找数据集,yolo目标检测算法详细实战训练步骤!
人工智能·深度学习·算法·yolo·目标检测·计算机视觉·pyqt
星沁城33 分钟前
240. 搜索二维矩阵 II
java·线性代数·算法·leetcode·矩阵
脉牛杂德1 小时前
多项式加法——C语言
数据结构·c++·算法
legend_jz1 小时前
STL--哈希
c++·算法·哈希算法
kingmax542120081 小时前
初三数学,最优解问题
算法
一直学习永不止步1 小时前
LeetCode题练习与总结:赎金信--383
java·数据结构·算法·leetcode·字符串·哈希表·计数
小刘|2 小时前
《Java 实现希尔排序:原理剖析与代码详解》
java·算法·排序算法
jjyangyou2 小时前
物联网核心安全系列——物联网安全需求
物联网·算法·安全·嵌入式·产品经理·硬件·产品设计