LeetCode 231 2的冪函

2022-09-22 06:31:48 字數 1459 閱讀 7450

問題描述:

給定一個整數,編寫一個函式來判斷它是否是 2 的冪次方。

示例 1:

輸入:1輸出:true解釋:2
0

= 1
示例 2:

輸入:16輸出:true解釋:2
4

= 16
示例 3:

輸入:218輸出:false
方法1:

1

import

math

2class

solution(object):

3def

ispoweroftwo(self, n):

4"""

5:type n: int

6:rtype: bool

7"""

8if n % 2 != 0 and n != 1 or n <0 :

9return

false

10 width =int((math.sqrt(n)))

11for i in range(width+2):

12if math.pow(2,i) ==n:

13return

true

14elif math.pow(2,i) >n:

15return

false

16return false

方法2:二進位制

1

class

solution(object):

2def

ispoweroftwo(self, n):

3"""

4:type n: int

5:rtype: bool

6"""

7if n <=0:

8return

false910

return bin(n).count('

1') == 1

方法3:

1

class

solution(object):

2def

ispoweroftwo(self, n):

3"""

4:type n: int

5:rtype: bool

6"""

7while n%2 == 0 and n>1:

8 n = n/2

9return (n==1)

2018-09-20 06:58:15

leetcode刷題筆記231 2的冪

給定一個整數,寫一個函式來判斷它是否是2的冪。 判斷一個整數是不是2的冪,可根據二進位制來分析。2的冪如2 4 8 等有一個特點 二進位制數首位為1,其他位為0,如2為10 4為100 2 2 1 0 4 4 1 0 即得出結論如果一個數n為2的冪,則n n 1 0 此題通過率37 6 ,挺高的 c 版...

leetcode 2 重複的DNA序列

所有 dna 都由一系列縮寫為 a,c,g 和 t 的核苷酸組成,例如 acgaattccg 。在研究 dna 時,識別 dna 中的重複序...

python2的比較函式,cmp

class shu object def init self ss self ss ss def str self return s s s...