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;
    }
};

2的幂,二进制表示为  1...0...,最高位为1,其余为0

时间: 2024-08-04 16:32:29

O(1)检测2的幂次的相关文章

[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 };

例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(("

2017校招常考算法题归纳&amp;典型题目汇总

2017校招即将来临,我们为大家整理了2017校招的常考算法类型,以及对应的典型题目. 另附参考答案地址:http://www.jiuzhang.com/solution/ 数学 尾部的零 斐波纳契数列 x的平方根 x的平方根 2 大整数乘法 骰子求和 最多有多少个点在一条直线上 超级丑数 比特位操作 将整数A转换为B 更新二进制位 二进制表示 O(1)时间检测2的幂次 二进制中有多少个1 动态规划 编辑距离 正则表达式匹配 交叉字符串 乘积最大子序列 二叉树中的最大路径和 不同的路径 通配符匹

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中的观察机制,可以建立一个活跃的配置服务,使那些感兴趣的客户端能够获得配置信息修改的通知. 下面来编写一个这样的服务.我们通过两个假设来简化所需实现的服务(稍加修改

校招的常考算法类型以及对应的典型题目

数学 尾部的零斐波纳契数列x的平方根x的平方根2大整数乘法骰子求和最多有多少个点在一条直线上超级丑数 比特位操作 将整数A转换为B更新二进制位二进制表示O(1)时间检测2的幂次二进制中有多少个1 动态规划 编辑距离正则表达式匹配交叉字符串乘积最大子序列二叉树中的最大路径和不同的路径通配符匹配 堆 滑动窗口的中位数数据流中位数最高频的K个单词接雨水堆化排序矩阵中的从小到大第k个数 二叉树 二叉树中序遍历二叉树的序列化和反序列化子树最近公共祖先二叉树的层次遍历将二叉树拆成链表在二叉查找树中插入节点

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

用 O(1) 时间检测整数 n 是否是 2 的幂次。

位操作 2的幂次数 2  10 4 100 8 1000 16 10000 ... 1 class Solution { 2 /* 3 * @param n: An integer 4 * @return: True or false 5 */ 6 public boolean checkPowerOf2(int n) { 7 // write your code here 8 return ((n > 0) && ((n & (n - 1)) == 0)); 9 } 10