Power of Two
来源:互联网 发布:关于雪的网络歌曲 编辑:程序博客网 时间:2024/06/10 20:53
题目地址:https://leetcode.com/problems/power-of-two/
Given an integer, write a function to determine if it is a power of two.
这次是判断一个数字是不是2的幂。
好,假如一个数字是2的幂,那么它对应的2进制是长这模样的:
1000000000000
就是最高位一个1,后面跟一堆0。
如果把刚才这个数字减一的话,那么这个数字就变成这个样子了:
111111111111
也就是说变成了一堆1,只不过比上面的那个数字少一位最高位。
下面这个数字既然少一位,那么咱给它补个0。然后把这两个数字按照地位对齐,放在一起看一下有啥特征:
10000000000000111111111111
很明确了,一看就是互补么。于是有了,如果n&(n-1)==0,那么n就是2的幂。
public class PowerofTwo { public boolean isPowerOfTwo(int n) { if (n <= 0) return false; if ((n & (n - 1)) == 0) return true; return false; }}
0 0
- Power of Two
- [LeetCode] Power of Two
- 【LeetCode】Power of Two
- Power of Two
- power of two
- [Leetcode]Power of Two
- Power of Two
- [leetCode] Power of Two
- Power of Two
- 231Power of Two
- leetcode --Power of Two
- Power of Two
- leetcode: Power of Two
- Power of Two
- Power of Two
- Power of Two
- Leetcode46: Power of Two
- LeetCode Power of Two
- 周志华机器学习(西瓜书)pdf+2014斯坦福大学机器学习mkv视频
- SSH框架之VO配置
- 树莓派连接触摸屏
- Java中栈的用法
- 详解 Python 中的下划线命名规则
- Power of Two
- HDU 5289 Assignment【二分+RMQ】
- 初次用到perl,出现的几个问题
- Java实现properties配置文件加密解密
- CSU 1007 矩形着色 so easy
- 计数排序总结
- libevent 配合 openssl android编译配置
- 占位
- Android实现摁两次返回键退出程序