首页 > 其他分享 >leetcode: 2861. 最大二进制奇数

leetcode: 2861. 最大二进制奇数

时间:2024-03-13 12:44:53浏览次数:26  
标签:2861 奇数 二进制 stringBuilder len ++ 字符串 leetcode

给你一个 二进制 字符串 s ,其中至少包含一个 '1' 。

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

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

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

示例 1:

输入: s = "010"

输出: "001"

解释: 因为字符串s中仅有一个'1',其必须出现在最后一位上.所以答案是"001".

示例 2:

输入: s = "0101"

输出: "1001"

解释: 其中一个1'必须出现在最后一位上.而剩下的数字可以生产的最大数字是"100".所以答案是"1001".

 

观察题目:首先要生成一个奇数,那么最后一位必须要是'1',其次要想使得数字最大,需要将'1'按顺序放到最高位上即可,最后中间拼接上字符串s的长度-'1'的个数的0即可.

实现代码如下:

 1 class Solution {
 2     public String maximumOddBinaryNumber(String s) {
 3      int len = s.length(), l = -1;
 4         for (int i = 0; i < len; i++) {
 5             if (s.charAt(i) == '1') {
 6                 l++;
 7             }
 8         }
 9         final StringBuilder stringBuilder = new StringBuilder();
10         int a = l;
11         while (a > 0) {
12             stringBuilder.append(1);
13             a--;
14         }
15         while (l + 1 < len) {
16             stringBuilder.append(0);
17             l++;
18         }
19         return stringBuilder.append(1).toString();
20     }
21 }

 

标签:2861,奇数,二进制,stringBuilder,len,++,字符串,leetcode
From: https://www.cnblogs.com/gx-tom/p/18070362

相关文章

  • [LeetCode][110]平衡二叉树
    题目110.平衡二叉树给定一个二叉树,判断它是否是平衡二叉树。示例1:输入:root=[3,9,20,null,null,15,7]输出:true示例2:输入:root=[1,2,2,3,3,null,null,4,4]输出:false示例3:输入:root=[]输出:true提示:树中的节点数在范围[0,5000]内-104<=Node.......
  • 2864.最大二进制奇数
    给你一个 二进制 字符串 s ,其中至少包含一个 '1' 。你必须按某种方式 重新排列 字符串中的位,使得到的二进制数字是可以由该组合生成的 最大二进制奇数 。以字符串形式,表示并返回可以由给定组合生成的最大二进制奇数。注意 返回的结果字符串 可以 含前导零。......
  • LeetCode每日一题[C++]-2864.最大二进制奇数(贪心)
    题目描述给你一个 二进制 字符串 s ,其中至少包含一个 '1' 。你必须按某种方式 重新排列 字符串中的位,使得到的二进制数字是可以由该组合生成的 最大二进制奇数 。以字符串形式,表示并返回可以由给定组合生成的最大二进制奇数。注意 返回的结果字符串 可以 含前......
  • LeetCode题练习与总结:最长有效括号
    一、题目给你一个只包含'(' 和')' 的字符串,找出最长有效(格式正确且连续)括号子串的长度。二、解题思路1.初始化一个栈和一个变量maxLen来记录最长有效括号子串的长度。栈用于存储左括号的索引,maxLen初始化为0。2.遍历字符串s中的每个字符。对于每个字符,执行以下......
  • [LeetCode][LCR174] 寻找二叉搜索树中的目标节点
    题目LCR174.寻找二叉搜索树中的目标节点某公司组织架构以二叉搜索树形式记录,节点值为处于该职位的员工编号。请返回第cnt大的员工编号。示例1:输入:root=[7,3,9,1,5],cnt=27/\39/\15输出:7示例2:输......
  • 代码随想录算法训练营day21 | leetcode 530. 二叉搜索树的最小绝对差、501. 二叉搜索
    目录题目链接:530.二叉搜索树的最小绝对差-简单题目链接:501.二叉搜索树中的众数-简单题目链接:236.二叉树的最近公共祖先-中等题目链接:530.二叉搜索树的最小绝对差-简单题目描述:给你一个二叉搜索树的根节点root,返回树中任意两不同节点值之间的最小差值。差值是一个正数,......
  • LeetCode[题解] 1261. 在受污染的二叉树中查找元素
    首先我们看原题给出一个满足下述规则的二叉树:root.val==0如果 treeNode.val==x 且 treeNode.left!=null,那么 treeNode.left.val==2*x+1如果 treeNode.val==x 且 treeNode.right!=null,那么 treeNode.right.val==2*x+2现在这个二叉树受到「污......
  • 2024-03-12 leetcode写题记录
    目录2024-03-12leetcode写题记录160.相交链表题目链接题意解法解法一解法二2024-03-12leetcode写题记录160.相交链表题目链接160.相交链表题意给你两个单链表的头节点\(headA\)和\(headB\),请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回\(nu......
  • leetcode160.链表相交
    160.相交链表 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。图示两个链表在节点 c1 开始相交:题目数据 保证 整个链式结构中不存在环。注意,函数返回结果后,链表必须 保持其原始结......
  • 2024-03-11 leetcode写题记录
    目录2024-03-11leetcode写题记录206.反转链表题目链接题意解法876.链表的中间结点题目链接题意解法2024-03-11leetcode写题记录206.反转链表题目链接206.反转链表题意给你单链表的头节点head,请你反转链表,并返回反转后的链表。解法链表反转板子题,特殊处理下一个点......