lintcode-142-O(1)时间检测2的幂次
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;
    }
};
lintcode-142-O(1)时间检测2的幂次的更多相关文章
- 142. O(1)时间检测2的幂次
		用 O(1) 时间检测整数 n 是否是 2 的幂次. 您在真实的面试中是否遇到过这个题? Yes 样例 n=4,返回 true; n=5,返回 false. class Solution { publ ... 
- lintcode142 O(1)时间检测2的幂次
		O(1)时间检测2的幂次 用 O(1) 时间检测整数 n 是否是 2 的幂次. 您在真实的面试中是否遇到过这个题? Yes 样例 n=4,返回 true; n=5,返回 false. 二进制的n中只有 ... 
- 用 O(1) 时间检测整数 n 是否是 2 的幂次。
		位操作 2的幂次数 2 10 4 100 8 1000 16 10000 ... 1 class Solution { 2 /* 3 * @param n: An integer 4 * @retu ... 
- mysql语句查询时间检测
		explain的使用 1.首先我们是要登入你的mysql的,然后选择数据库输入:use 你要选择的库名 2执行语句 eg: explain SELECT * FROM wish_orders1412 ... 
- [LintCode] O(1)检测2的幂次
		class Solution { public: /* * @param n: An integer * @return: True or false */ bool checkPowerOf2(in ... 
- Stopwatch简单时间检测
		public ActionResult Index() { Stopwatch sw = new Stopwatch(); //实例化一个对象 sw.Start(); //开始计算 int[] a = ... 
- O(1)检测2的幂次
		class Solution { public: /* * @param n: An integer * @return: True or false */ bool checkPowerOf2(in ... 
- lintcode:1-10题
		难度系数排序,容易题1-10题: Cosine Similarity new Fizz Buzz O(1)检测2的幂次 x的平方根 不同的路径 不同的路径 II 两个字符串是变位词 两个 ... 
- WebDriverWait等设置等待时间和超时时间
		1.显示等待 等待页面加载完成,找到某个条件发生后再继续执行后续代码,如果超过设置时间检测不到则抛出异常 WebDriverWait(driver, timeout, poll_frequency=0 ... 
随机推荐
- Elasticsearch 映射操作
			一.创建 语法: PUT /索引库名称/_mapping/类型名称 { "properties": { "字段名": { "type": 类 ... 
- hadoop生态搭建(3节点)-13.mongodb配置
			# 13.mongodb配置_副本集_认证授权# ==================================================================安装 mongod ... 
- python学习笔记:第20天 多继承、MRO C3算法
			目录 一.多继承 二.旧式类的MRO 三.新式类的MRO 四.super 一.多继承 之前已经学习过了继承,当出现了x是⼀种y的的时候,就可以使⽤继承关系,即"is-a" 关系.在 ... 
- Go编写一个比特币交易自动出价程序
			语言环境为>=go1.10 go语言环境不多说 实现目的能与BitMEX api进行交互自动交易,目前虚拟币平台很多,平台API实现也很容易.后续会加上其它平台和自动交易算法策略,具体看平台交易 ... 
- go字符串操作
			在Go语言标准库中的strings和strconv两个包可以对字符串做快速处理 string包 func Contains(s, substr string) bool 字符串s中是否包含substr ... 
- Git安装配置(Windows)
			下载Git并安装 下载地址:https://git-scm.com/ 安装一般默认即可 配置用户信息 配置之前最好已经有了Github的账号,如果没有可以先去注册一个 安装后打开Git Bash gi ... 
- Java 高级应用编程 第二章 集合
			一.Java 中的集合类 1.集合概述 Java中集合类是用来存放对象的 集合相当于一个容器,里面包容着一组对象 —— 容器类 其中的每个对象作为集合的一个元素出现 Java API提供的集合类位于j ... 
- 实现动态的XML文件读写操作(依然带干货)
			前言 最近由于项目需求,需要读写操作XML文件,并且存储的XML文件格式会随着导入的数据不同而随时改变(当然导入的数据还是有一定约束的),这样我们要预先定义好XML文件的格式就不太现实了,如何实现不管 ... 
- Aop实现拦截方法参数
			对于spring框架来说,最重要的两大特性就是AOP 和IOC. 以前一直都知道有这两个东西,在平时做的项目中也常常会涉及到这两块,像spring的事务管理什么的,在看了些源码后,才知道原来事务管理也 ... 
- springboot  jpa操作redis
			SpringBoot使用Redis缓存 (1)pom.xml引入jar包,如下: <dependency> <groupId>org.springframework.boo ... 
