網易互娛筆試題 二進位制下的1的個數分類

2021-09-26 02:44:41 字數 620 閱讀 8780

題目描述:

給定n個非負整數,將這n個數字按二進位制下的1的個數分類,二進位制下1的個數相同屬於同一類,求最後共有幾類數字。

輸入:

1 有幾組數

5 每一組數有幾個數

8 3 5 7 2 每組數下的數

輸出:3

實現(python):

定義乙個函式可以返回乙個數二進位制下1的個數,遍歷陣列,就可以返回這組數下的所有二進位制的個數,最後按個數進行分組。

def count(num):

cnt = 0

while num:

if num & 1 == 1:

cnt += 1

num = num >> 1

return cnt

n=int(input())

for i in range(n):

m=int(input())

nums=[int(ele) for ele in input().split()]

ret=

for item in nums:

print(len(set(ret)))

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

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

二進位制1的個數

輸入乙個整數,輸出該數二進位制表示中1的個數。其中負數用補碼表示。可能引起死迴圈的解法 class solution return cnt 由於數字在計算機中的二進位制儲存事實上並不包含符號 也就是 都是統一用補碼表示的。移位操作會保證數的正負不變,當遇到乙個負數,右移到最前面的符號位1時,再往右移...

(筆試題)二進位制1的個數相同的距離最小數

輸入 整數a 輸出 整數b 條件 a和b的二進位制1的個數相同,且a和b之間的距離 a b 最小。題目沒有說明整數型別,這裡認為是帶符號的整數,即區分正負數。根據題意,a和b的二進位制1的個數相同,且要求距離最小,那麼a和b的差別就在於相鄰的bit位,如1100和1010,0011和0101等。當a...