0
点赞
收藏
分享

微信扫一扫

微信小程序之表单组件

由于奇数的二进制末尾一定是 111,我们可以把一个 111 放在末尾,其余的 111 全部放在开头,这样构造出的奇数尽量大。

复杂度

时间复杂度: O ( n ) O(n) O(n)

空间复杂度: O ( 1 ) O(1) O(1)

Code

class Solution {
    public String maximumOddBinaryNumber(String s) {
        int n = s.length();
        int cnt1 = (int) s.chars().filter(c -> c == '1').count();
        String ans = "";
        while(cnt1-- > 1)
        {
            n--;
            ans += "1";
        }
        while(n-- > 1)//末尾留一个 1
            ans += "0";
        ans += "1";
        return ans;
    }
}
举报

相关推荐

0 条评论