前言
給你兩個數字l、r,問在區間[l,r] 內的所有數中,二進位制表示下「1」的個數最多的乙個數是多少,如果有多個相同的,輸出所有符合條件的數中最小的乙個數。
輸入乙個整數l, 和乙個整數r。(1<=l<=r<=10^9)
輸出乙個數字表示[l,r] 內二進位制下「1」的個數最多的數。如果有多個,輸出符合條件的數中最小的。
示例1輸入:510
輸出:7
注:7的二進位制為111
直接上**,注意按位與運算的運用
**
#include
#include
using
namespace std;
intbinary
(int k)
;//十進位制轉二進位制,返回二進位制中1的個數
intminmumdigit
(int l,
int r)
;int
main()
intbinary
(int k)
return count;
}int
minmumdigit
(int l,
int r)
for(j=l;j
}
結果 恢復字串 演算法筆試模擬題精解
給出兩個僅包含 兩種字元且長度相同字串 s1 s2,你需要通過填充數字將這兩個字串恢復成乙個合法的表示式。並且只能填入正整數,恢復後的表示式的值必須非負。例如對於字串 你可以將其變成 1 1 2 但是不可以變成 1 1 3 也不可以變成 1 0 1 定義你的消耗為你填充的所有正整數的和。比如 1 1...
阿里筆試模擬題 68 一的個數
概述 給你兩個數字l r,問在區間 l,r 內的所有數中,二進位制表示下 1 的個數最多的乙個數是多少,如果有多個相同的,輸出所有符合條件的數中最小的乙個數。輸入乙個整數l,和乙個整數r。1 l r 10 9 輸出乙個數字表示 l,r 內二進位制下 1 的個數最多的數。如果有多個,輸出符合條件的數中...
LeetCode演算法題200 島嶼的個數解析
給定乙個由 1 陸地 和 0 水 組成的的二維網格,計算島嶼的數量。乙個島被水包圍,並且它是通過水平方向或垂直方向上相鄰的陸地連線而成的。你可以假設網格的四個邊均被水包圍。示例 1 輸入 11110 11010 11000 00000 輸出 1示例 2 輸入 11000 11000 00100 00...