142-O(1)时间检测2的幂次

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

样例

n=4,返回 true;

n=5,返回 false.

挑战

O(1) time

标签

比特位操作

思路

使用位操作, 2 的幂次的 2 进制形式中只包含一个 1,如1(0001),2(0010),4(0100)。其他数包含多个 1(0除外),如3(0011),所以只需要将 n 与 n-1 逐位与,即可判定。

code

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

最新文章

  1. Hadoop组件构成
  2. 原生态PHP+mysql 实现分页
  3. MSXML使用教程
  4. SharePoint 2013 调用WCF服务简单示例
  5. Windows Server 2008 R2安装WAMPSERVER无法启动的解决方法
  6. C#基础之lock
  7. js克隆
  8. HTTP协议状态码的含义
  9. MySQL SHOW 语句大全
  10. javascript - 清空一个 array
  11. 关于页ASP.NET面布局
  12. ML01 机器学习后利用混淆矩阵Confusion matrix 进行结果分析
  13. ActiveMQ安装配置及实例
  14. CNN学习入门
  15. SQL语句汇总(三)——聚合函数、分组、子查询及组合查询
  16. RobotFramework自动化2-自定义关键字
  17. postman设置环境变量,字段值经过json转换后数值字节长度超过上限的问题
  18. pix2pix-tensorflow搭建及其使用
  19. DB2 数据类型转换
  20. 【NOI2017】游戏 2-sat算法

热门文章

  1. rem和em的用法
  2. PHP运行原理之Opcodes
  3. JavaScript&amp;jQuery 基本使用
  4. ie 8在打印网页的时候打印预览是空白的
  5. Spark运行模式_local(本地模式)
  6. requests+mongodb爬取今日头条,多进程
  7. 如何制作 Ubuntu 系统的 USB 启动盘
  8. [POJ1014]Dividing(二进制优化多重背包)
  9. 推荐 的FPGA设计经验(3) 物理实现和时间闭环优化
  10. ReadyAPI教程和示例(一)