題目描述:
給你乙個二進位制字串 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的乘...