142. O(1)时间检测2的幂次
用 O(1) 时间检测整数 n 是否是 2 的幂次。
样例
Example 1:
Input: 4
Output: true
Example 2:
Input: 5
Output: false
挑战
O(1) time
class Solution: """ @param n: An integer @return: True or false """ ''' 1.使用递归的方法来进行判断 2.相与的方法来进行判断 比如:16 与 15相与,因为16 二进制位10000,15减去1二进制位01111 相与>>00000 或者 1&0 >> 0 其他不是2的幂次的情况: 15&14 01111 & 01110 >>01110 ''' def checkPowerOf2(self, n): # write your code here if n&(n-1) == 0: return True return false
平方根,平方,立方:
1.求平方根,int(pow(n,0.5))
2.求平方,pow(n,2)
3.求立方,pow(n,3)