2024.3.13每日一题

LeetCode

最大二进制奇数

题目链接:2864. 最大二进制奇数 - 力扣(LeetCode)

题目描述

给你一个 二进制 字符串 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'

思路

奇数的二进制末尾一定是1,可以把一个 1放在末尾,其余的放在开头,这样构造的奇数最大。

代码

C++
C++ 复制代码
class Solution {
public:
    string maximumOddBinaryNumber(string s) {
        int cnt = ranges::count(s,'1'); // 统计 1 的个数
        return string(cnt - 1, '1') + string(s.length() - cnt,'0') + '1'; 
    }
};
Java
java 复制代码
class Solution {
    public String maximumOddBinaryNumber(String s) {
        int cnt = (int) s.chars().filter(c -> c == '1').count();
        return "1".repeat(cnt - 1) + "0".repeat(s.length() - cnt) + "1";
    }
}
相关推荐
京东零售技术4 分钟前
SIGIR 2025 | 基于图同构网络的群体建模在点击率预测中的应用
算法
程序员西西12 分钟前
深入剖析 Java 中的 ZGC 机制:原理、优势与实践
java·后端·算法
月明长歌14 分钟前
【码道初阶】Leetcode.189 轮转数组:不熟悉ArrayList时踩得坑,被Arraylist初始化骗了?
java·算法·leetcode·职场和发展
卡尔AI工坊16 分钟前
万众瞩目的 GPT 5.2,连个火柴人游戏都做不明白?
后端·算法
fantasy_arch17 分钟前
leetcode算法-最大乘积子数组
算法·leetcode·职场和发展
dragoooon3428 分钟前
[hot100 NO.8~12]
算法
kaikaile199540 分钟前
MATLAB计算卫星星下点轨迹
开发语言·算法·matlab
_OP_CHEN42 分钟前
【算法基础篇】(三十一)动态规划之基础背包问题:从 01背包到完全背包,带你吃透背包问题的核心逻辑
算法·蓝桥杯·动态规划·背包问题·01背包·完全背包·acm/icpc
长安er1 小时前
LeetCode876/141/142/143 快慢指针应用:链表中间 / 环形 / 重排问题
数据结构·算法·leetcode·链表·双指针·环形链表
Aaron15881 小时前
电子战侦察干扰技术在反无人机领域的技术浅析
算法·fpga开发·硬件架构·硬件工程·无人机·基带工程