LeetCode762二進位制表示中質數個計算置位

2021-10-03 01:13:02 字數 899 閱讀 1321

給定兩個整數 l 和 r ,找到閉區間 [l, r] 範圍內,計算置位位數為質數的整數個數。

(注意,計算置位代表二進位制表示中1的個數。例如 21 的二進位制表示 10101 有 3 個計算置位。還有,1 不是質數。)

示例 1:

輸入: l = 6, r = 10

輸出: 4

解釋:6 -> 110 (2 個計算置位,2 是質數)

7 -> 111 (3 個計算置位,3 是質數)

9 -> 1001 (2 個計算置位,2 是質數)

10-> 1010 (2 個計算置位,2 是質數)

思路:1.計算置位位數 即1的個數 2.判斷是否為質數的函式

**如下:

class solution(object):

def countprimesetbits(self, l, r):

""":type l: int

:type r: int

:rtype: int

"""# 判斷是否為質數的函式

def isprime(n):

r = 0

for i in range(1,n+1):

if n%i ==0:

r = r+1

if r==2:

return true

res1 = 0

for a in range(l,r+1):

res = 0

while a!=0:

a = a&(a-1)

res = res +1

if isprime(res):

res1 = res1+1

return res1

這樣寫雖然很容易懂但是用時較長

二進位制 leetcode

5 toc 給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。class solution return result 給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現了三次。找出那個只出現了一次的元素。思路 某一位上1出現的次...

二進位制 二進位制起源

現代通訊技術的基礎是二進位制編碼。早在1865年麥克斯韋總結出麥克斯韋方程組之前,美國人摩斯 morse 於1837年發明了摩斯電碼和有線電報。有線電報的出現,具有劃時代的意義 它讓人類獲得了一種全新的資訊傳遞方式,這種方式 看不見 摸不著 聽不到 完全不同於以往的信件 旗語 號角 烽火,這也是二進...

LeetCode 二進位制手錶

二進位制手錶頂部有 4 個 led 代表小時 0 11 底部的 6 個 led 代表分鐘 0 59 每個 led 代表乙個 0 或 1,最低位在右側。例如,上面的二進位制手錶讀取 3 25 給定乙個非負整數 n 代表當前 led 亮著的數量,返回所有可能的時間。案例 輸入 n 1 返回 1 00 2...