例3 检测2的幂次

class Solution:
    def checkPowerOf2(self, n):
        ans=1
        for i in range(31):
            if ans == n:
                return True
            ans = ans << 1
        return False

if __name__=="__main__":
    temp = Solution()
    nums1 = 16
    nums2 = 17
    print(("输入: " + str(nums1)))
    print(("输出: " + str(temp.checkPowerOf2(nums1))))
    print(("输入: " + str(nums2)))
    print(("输出: " + str(temp.checkPowerOf2(nums2))))

结果如下:
输入: 16
输出: True
输入: 17
输出: False

原文地址:https://www.cnblogs.com/hankleo/p/11809634.html

时间: 2024-10-12 01:05:02

例3 检测2的幂次的相关文章

O(1)检测2的幂次

class Solution { public: /* * @param n: An integer * @return: True or false */ bool checkPowerOf2(int n) { // write your code here if(n <= 0) return false; int sum = 0; while(n){ sum += (n&1); n >>= 1; } if(sum == 1) return true; return false

[LintCode] O(1)检测2的幂次

1 class Solution { 2 public: 3 /* 4 * @param n: An integer 5 * @return: True or false 6 */ 7 bool checkPowerOf2(int n) { 8 // write your code here 9 return n > 0 && ((n & (n - 1)) == 0); 10 } 11 };

算法初步:快速乘,快速幂,矩阵快速幂

原创 by zoe.zhang 在刷题的时候遇到了问题,就是当循环或者递推的次数非常大的情况下获取一定结果,这个时候如果作普通运算,那么很容易就超时了,而且有时候结果也大得超范围了,即使是long long类型的也放不下,然后给了提示说是运用快速幂的思想.所以这里对快速幂做了一点思考和探讨. 1.快速乘,快速幂,矩阵快速幂三者的关系 不管是快速乘,还是快速幂算法,实际上都包含了分解问题的思想在里面,将O(n)的复杂度降到O(lgn).学习的时候,一般学习快速幂算法,再由此推广去解决矩阵快速幂问题

php程序设计经典300例,第16-20例

第16例: <!--在网页主体中动态却换内容 --> <title>文件引用</title><div style="color: red;">     <center>        <a href="index.php?id=index">首页</a>        <a href="index.php?id=second">简介</a>

lintcode容易题1-10题

难度系数排序,容易题1-10题: Cosine Similarity new  Fizz Buzz  O(1)检测2的幂次  x的平方根  不同的路径  不同的路径 II  两个字符串是变位词  两个链表的和 中位数 主元素 Cosine Similarity 题目: Cosine similarity is a measure of similarity between two vectors of an inner product space that measures the cosine

Hadoop学习Day20---ZooKeeper系列(四)

使用ZooKeeper来构建应用 在一定程度上了解ZooKeeper之后,我们接下来要用ZooKeeper编写一些有用的应用程序. 一.配置服务 配置服务是分布式应用所需要的基本服务之一,它使集群中的机器可以共享配置信息中那些公共的部分.简单地说,ZooKeeper可以作为一个具有高可用性的配置存储器,允许分布式应用的参与者检索和更新配置文件.使用ZooKeeper中的观察机制,可以建立一个活跃的配置服务,使那些感兴趣的客户端能够获得配置信息修改的通知. 下面来编写一个这样的服务.我们通过两个假

ZooKeeper学习第四期---构建ZooKeeper应用

转:http://www.cnblogs.com/sunddenly/p/4064992.html 一.配置服务 配置服务是分布式应用所需要的基本服务之一,它使集群中的机器可以共享配置信息中那些公共的部分.简单地说,ZooKeeper可以作为一个具有高可用性的配置存储器,允许分布式应用的参与者检索和更新配置文件.使用ZooKeeper中的观察机制,可以建立一个活跃的配置服务,使那些感兴趣的客户端能够获得配置信息修改的通知. 下面来编写一个这样的服务.我们通过两个假设来简化所需实现的服务(稍加修改

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.使用递归的方法来

每个操作间只能进行一个单项任务

此外,因做完一例基因检测要在多个操作间之间穿梭,为防止交叉感染,每个操作间只能进行一个单项任务,房间的设置遵循“单向循环”原则,即按照检测流程依次向纵深分布.由遗传导致的耳聋,目前没有有效的恢复听力的手段.但这并不等于不可预防,基因检测就是最为有效的一种手段.通过基因检测,父母在孕前就可了解到子女出现遗传性耳聋的几率,并在孕中对胎儿进行检测,看其是否存在遗传性耳聋. 昨天,南京医科大学神经病学研究所在南京明基医院正式挂牌,专家告诉记者,研究所成立后,将逐渐引进国外最先进的基因检测技术,今后对十多