• 【Leetcode】2864. 最大二进制奇数


    题目

    题目链接
    给你一个 二进制 字符串 s ,其中至少包含一个 ‘1’ 。

    你必须按某种方式 重新排列 字符串中的位,使得到的二进制数字是可以由该组合生成的 最大二进制奇数 。

    以字符串形式,表示并返回可以由给定组合生成的最大二进制奇数。

    注意 返回的结果字符串 可以 含前导零。

    示例 1
    输入:s = “010”
    输出:“001”
    解释:因为字符串 s 中仅有一个 ‘1’ ,其必须出现在最后一位上。所以答案是 “001” 。

    示例 2
    输入:s = “0101”
    输出:“1001”
    解释:其中一个 ‘1’ 必须出现在最后一位上。而由剩下的数字可以生产的最大数字是 “100” 。所以答案是 “1001” 。

    提示
    1 <= s.length <= 100
    s 仅由 ‘0’ 和 ‘1’ 组成
    s 中至少包含一个 ‘1’

    思路

    题目中给定的字符串s构造字典序最大的奇数,首先要保证最后一位一定是一个“1”,然后就可以尽可能把“1”放到前面以达到数字尽可能大的这一个要求。剩余的“0”夹放在中间即可。直接对原字符串进行操作不太好操作,我们能可以直接遍历原来的字符串数一下有多少个“0”和“1”然后再重组即可。

    代码

    class Solution {
    public:
        string maximumOddBinaryNumber(string s) {
            int yi=0,lin=0;
            for(int i=0;i
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    结果

    在这里插入图片描述

  • 相关阅读:
    Ajax复习(62nd)
    大家都在用MySQL count(*)统计总数,到底有什么问题?
    06-kafka及异步通知文章上下架
    k8s暴露集群内和集群外服务的方法
    计算机网络中的封装和分用,五层协议
    Yakit学习
    H5在线CAD,网页CAD,MxDraw云图平台2022.08.24更新
    JavaNIO——单线程(笔记)
    搭载开源鸿蒙系统的嵌入式XM-RK3568工业互联方案
    【微服务】微服务初步认识 - 微服务技术如何学习 · 认识微服务架构
  • 原文地址:https://blog.csdn.net/m0_67724631/article/details/136667211