lintcode入门篇四

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)

猜你喜欢

转载自www.cnblogs.com/yunxintryyoubest/p/12195522.html
今日推荐