博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode 342. Power of Four
阅读量:5856 次
发布时间:2019-06-19

本文共 384 字,大约阅读时间需要 1 分钟。

没想出来不用循环的。记录下。

如果是2的次方,必有num & (nums - 1)

bool isPowerOfFour(int num) {        if (num < 1) return false;        if (num & (num - 1)) return false;  // 排除不是2的倍数        if (num & 0x55555555) return true;  // 排除不是4的倍数,此时num是2的次方        return false;    }

或者第二步排除,直接(num - 1) % 3为0也可以,如果是4的倍数,减1后必能被3整除,从二进制角度考虑下即可。

不建议用对数,涉及浮点数,精度问题,见:

转载于:https://www.cnblogs.com/willaty/p/8431728.html

你可能感兴趣的文章
MySQL/InnoDB的并发插入Concurrent Insert
查看>>
转两好文防丢:Debian 版本升级/降级 & Linux 应用程序失去输入焦点问题的解决...
查看>>
HDU - Pseudoforest
查看>>
Nexus杂
查看>>
Android --- GreenDao的实现(ORM框架)
查看>>
Linux平台Java调用so库-JNI使用例子
查看>>
Spring Data JPA
查看>>
项目管理修炼之道之规划项目
查看>>
Web服务器压力测试工具http_load、webbench、ab、Siege使用教程
查看>>
RHEL6.3 源码安装Puppet
查看>>
Mac软件下载备忘
查看>>
java 泛型初探
查看>>
在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory
查看>>
就是一个表格
查看>>
CakePHP 2.x CookBook 中文版 第三章 入门 之 CakePHP 的结构
查看>>
Objective-C的算术表达式 .
查看>>
找回使用Eclipse删除的文件
查看>>
rabbitmq 消息系统 消息队列
查看>>
集成spring3、hibernate4、junit
查看>>
URL与ASCII
查看>>