LeetCode 342 4的冪(位運算)

2021-09-29 16:27:33 字數 890 閱讀 4507

給定乙個整數 (32 位有符號整數),請編寫乙個函式來判斷它是否是 4 的冪次方。

示例 1

:輸入:

16輸出:

true

示例 2

:輸入:

5輸出:

false

高階:

你能不使用迴圈或者遞迴來完成本題嗎?

相關題目:leetcode 231. 2的冪 && leetcode 338. 位元位計數(2進製1的個數)

class

solution

};

十進位制

二進位制40 = 1

141 = 4

10042 = 16

1 0000

43 = 64

100 0000

發現4的整數次冪:只有乙個1(跟2的整數次冪一致),且1在奇數字

在c/c++ 三種進製字首:

設計乙個只在奇數字或者只在偶數字為1的二進位制數,進行位運算判斷

如果圖方便,可以記住那個魔法數字,不過感覺沒必要,記住二進位制形式就好了

leetcode刷題筆記342 4的冪

給定乙個整數 32位有符整數型 請寫出乙個函式來檢驗它是否是4的冪。示例 當 num 16 時 返回 true 當 num 5時,返回 false。問題高階 你能不使用迴圈 遞迴來解決這個問題嗎?如231題同樣思路,還是通過位操作來解決這道 首先判斷下輸入為0和負數的情況 然後分析4的冪的特點0,4...

leetcode 231(2的冪)(位運算)

q 給定乙個整數,編寫乙個函式來判斷它是否是 2 的冪次方。示例 1 輸入 1 輸出 true 解釋 20 1 運用位運算就可以很快的解出來。因為2的冪次都是1,10,100,1000,10000 所以如果是2的冪次,則n n 1 0 如下 又嘗試了一下不用位運算解這道題 class solutio...

leetcode 快速冪運算(位運算)

題目描述 實現函式double power double base,int exponent 求base的exponent次方。不得使用庫函式,同時不需要考慮大數問題。實現 def mypow self,x float,n int float if x 0 return 0 res 1 if n 0...