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;
}
相关推荐
滨HI028 分钟前
P8692 [蓝桥杯 2019 国 C] 数正方形--输出取模余数
c语言·c++·算法·职场和发展·蓝桥杯
h^hh1 小时前
洛谷 P2142 高精度减法(详解)c++
开发语言·c++·算法
代码骑士2 小时前
决策树(Decision Tree)案例分析
算法·决策树·机器学习
lucky_syq4 小时前
Flink 窗口:流处理的核心利器
大数据·算法·flink
绛洞花主敏明5 小时前
go语言for循环中嵌套defer的执行顺序
开发语言·算法·golang
好易学·数据结构5 小时前
为什么要学习数据结构与算法
数据结构·算法·leetcode·面试·力扣·笔试·牛客网
#看心情5 小时前
算法思想-贪心算法
算法·贪心算法
Buling_05 小时前
算法-回溯篇06-分割回文串
算法·leetcode·职场和发展
梭七y5 小时前
leetcode日记(77)子集Ⅱ
算法·leetcode·职场和发展
Aqua Cheng.5 小时前
字节青训营后端方向的个人总结(2025年3月4日)
java·数据结构·算法