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;
}
相关推荐
独好紫罗兰20 分钟前
洛谷题单3-P1720 月落乌啼算钱(斐波那契数列)-python-流程图重构
开发语言·算法·leetcode
啥都鼓捣的小yao1 小时前
Python解决“数字插入”问题
python·算法
qystca2 小时前
蓝桥云客--回文数组
算法
每次的天空2 小时前
Android学习总结之算法篇五(字符串)
android·学习·算法
Fantasydg3 小时前
DAY 37 leetcode 454--哈希表.四数相加
算法·leetcode·散列表
前端 贾公子3 小时前
LeetCode 2442:统计反转后的不同整数数量
算法·leetcode·职场和发展
lmy201211083 小时前
GESP:2025-3月等级8-T1-上学
c++·算法·图论·dijkstra
珊瑚里的鱼4 小时前
第五讲(下)| string类的模拟实现
开发语言·c++·笔记·程序人生·算法·visualstudio·visual studio
工一木子4 小时前
大厂算法面试 7 天冲刺:第6天-树与图深度剖析——高频算法面试题 & Java 实战
java·算法·面试
查理零世4 小时前
【蓝桥杯速成】日期问题(填空题) + 真题讲解 python
python·算法·蓝桥杯