• 【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

    结果

    在这里插入图片描述

  • 相关阅读:
    基于单片机GPS轨迹定位和里程统计系统
    RLChina2022-强化学习暑期课程-博弈搜索算法
    学会Redis这一篇就够了(1)
    大龄程序员谈架构经验 内行看门道
    lock、tryLock、lockInterruptibly有什么区别?
    vue框架,input相同标签如何定位-label定位
    python经典100题之判断今年的第几天
    嵌入式仿真测试平台的思考
    Unity中实现溶解(Dissolve)特效及其原理解析
    焕新出发,利尔智达天下
  • 原文地址:https://blog.csdn.net/m0_67724631/article/details/136667211