1702 修改後的最大二進位制字串

2021-10-13 07:48:01 字數 1219 閱讀 2211

題目描述:

給你乙個二進位制字串 binary ,它僅有 0 或者 1 組成。你可以使用下面的操作任意次對它進行修改:

操作 1 :如果二進位制串包含子字串 「00」 ,你可以用 「10」 將其替換。

比方說, 「00010」 -> 「10010」

操作 2 :如果二進位制串包含子字串 「10」 ,你可以用 「01」 將其替換。

比方說, 「00010」 -> 「00001」

請你返回執行上述操作任意次以後能得到的 最大二進位制字串 。如果二進位制字串 x 對應的十進位制數字大於二進位制字串 y 對應的十進位制數字,那麼我們稱二進位制字串 x 大於二進位制字串 y 。

示例 1:

輸入:binary = 「000110」

輸出:「111011」

解釋:乙個可行的轉換為:

「000110」 -> 「000101」

「000101」 -> 「100101」

「100101」 -> 「110101」

「110101」 -> 「110011」

「110011」 -> 「111011」

示例 2:

輸入:binary = 「01」

輸出:「01」

解釋:「01」 沒辦法進行任何轉換。

1 <= binary.length <= 105

binary 僅包含 『0』 和 『1』 。

方法1:

(1)貪心;

(2)根據給定的變換規則,為了使獲得值最大,則需要從左到右將連續的兩個00變成10的情形,對於01的情形,則需要將後面可能存在的0通過10到01的變換,將0變換到前面的位置,既01的1的位置,進而再實現00到10的變換;

class

solution

else

if(binary[i]

=='0')if

(pos==binary.

size()

)//變換位置

binary[pos]

='1'

; binary[i]

='1'

; binary[i+1]

='0';}

}return binary;}}

;

mysql 大二進位制型別 MySql 二進位制型別

mysql二進位制型別 二進位制型別是在資料庫中儲存二進位制資料的資料型別。二進位制型別包括binary varbinary bit tinyblob blob mediumblob和longblob等。mysql的二進位制型別如下表所示 整數型別 取值範圍 binary m 位元組數為m位元組,允...

二進位制 二進位制中1的個數

題目 請實現乙個函式,輸入乙個整數,輸出該數二進位制表示中 1 的個數。例如,把 9 表示成二進位制是 1001,有 2 位是 1。因此,如果輸入 9,則該函式輸出 2。示例 1 輸入 00000000000000000000000000001011 輸出 3 解釋 輸入的二進位制串 0000000...

二進位制 簡學 二進位制數制的應用

設現有正整數150,二進位制形式為10010110,現有如下題目,求其盡可能簡單的解法。題目一 判斷該正整數是否是2的乘方 解法 由上表可以看出2的乘方的二進位制形式只有乙個bit為1,因此判斷乙個正整數a是否為2的乘方,可以判斷a a 1 是否等於0,若結果為0,則是2的乘方,若不為0則不是2的乘...