package
0.0.0-20241221191246-b80a13d7bbe0
Repository: https://github.com/yvv4git/go-algorithms.git
Documentation: pkg.go.dev

# README

2864. Maximum Odd Binary Number

Level - easy

Task

You are given a binary string s that contains at least one '1'.

You have to rearrange the bits in such a way that the resulting binary number is the maximum odd binary number that can be created from this combination.

Return a string representing the maximum odd binary number that can be created from the given combination.

Note that the resulting string can have leading zeros.

Объяснение

Задача состоит в том, чтобы из заданной строки бинарных символов (содержащей как минимум один '1'), переставить биты таким образом, чтобы получить максимальное нечетное число в двоичной системе счисления.

Чтобы решить эту задачу, вам нужно будет пройтись по строке справа налево и найти первый бит, который можно переставить (т.е. изменить на '1'), чтобы получить максимальное нечетное число. Если такого бита нет, то число уже максимально и функция должна вернуть исходную строку.

Example 1:

Input: s = "010"
Output: "001"
Explanation: Because there is just one '1', it must be in the last position. So the answer is "001".

Example 2:

Input: s = "0101"
Output: "1001"
Explanation: One of the '1's must be in the last position. The maximum number that can be made with the remaining digits is "100". So the answer is "1001".

Constraints:

  • 1 <= s.length <= 100
  • s consists only of '0' and '1'.
  • s contains at least one '1'.