給你乙個整數 n ,請你將 1 到 n 的二進位制表示連線起來,並返回連線結果對應的 十進位制 數字對 109 + 7 取餘的結果。
示例 1:
輸入:n = 1
輸出:1
解釋:二進位制的 「1」 對應著十進位制的 1 。
示例 2:
輸入:n = 3
輸出:27
解釋:二進位制下,1,2 和 3 分別對應 「1」 ,「10」 和 「11」 。
將它們依次連線,我們得到 「11011」 ,對應著十進位制的 27 。
示例 3:
輸入:n = 12
輸出:505379714
解釋:連線結果為 「1101110010111011110001001101010111100」 。
對應的十進位制數字為 118505380540 。
對 109 + 7 取餘後,結果為 505379714 。
1 <= n <= 105
問題分析:
對於1到n的數字,我們可以每次看乙個數字,比如從1到3。
先定義最後返回的是ans
對於1,看成是0之後加入的數字,則1加入後,整體向左移動1位,則ans乘以2,然後在加上後來加的數字1,變成了ans=02+1=1(1)
對於2,1後面加上2,ans整體向左移動2位,所以ans=14+2=6(110)
對於3,2後面加上3,ans整體向左移動2位,所以ans=6*4+3=27(110111)
後面加粗的是後來加上去的,就相當於i
**如下
#define ll long long
const ll mod=
1e9+7;
class
solution
return lshift;
}int
concatenatedbinary
(int n)
return ans%mod;}}
;
二進位制 leetcode
5 toc 給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。class solution return result 給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現了三次。找出那個只出現了一次的元素。思路 某一位上1出現的次...
mysql二進位制 MySql二進位制連線方式詳解
使用mysql二進位制方式連線 您可以使用mysql二進位制方式進入到mysql命令提示符下來連線mysql資料庫。例項以下是從命令列中連線mysql伺服器的簡單例項 root host mysql u root p enter password 在登入成功後會出現 mysql 命令提示視窗,你可以...
二進位制數反轉
1 使用了歸併排序的思路 最快 但是時間複雜度比歸併排序要小,每行 都相當於完成了一次歸併 include unsigned revbit unsigned x void main 2 把乙個32位整數按位反轉,即第1位轉到第32位,第2位轉到第31位,依次下去。一牛人寫的演算法如下 unsigne...