leetcode 231:Power of Two

原创 2015年07月06日 17:07:36

题目:
Given an integer, write a function to determine if it is a power of two.
分析:
本题需要判断一个数是否为2的n次方,通过观察2的n次方的十进制和二进制,可以发现一些规律:
1 2 4 8 16   ….

1 10 100 1000 10000 ….
在二进制表示中我们可以发现2的n次方的最高位为1其他都为0,如果此时我们进行减1操作,最高位变为0,其他低位变为1,最后两个数进行”与“操作,结果为0.
代码:

public class powerOfTwo {
    public static boolean isPowerOfTwo(int n) {
        return n > 0 && (n & (n - 1)) == 0;

    }
    public static void main(String[] args){
        int[] a={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
        for(int i=0;i<a.length;i++){
            boolean result=isPowerOfTwo(a[i]);
            System.out.println("a[i]:"+a[i]+":::"+result);
        }
    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

LeetCode 231. Power of Two 解题报告

LeetCode 231. Power of Two 解题报告

[231] Power of Two

求一个整数是不是2的n次方
  • camlot_
  • camlot_
  • 2016年06月25日 19:50
  • 162

Leetcode 231. Power of Two & 326. Power of Three & 342. Power of Four

231. Power of Two   Total Accepted: 69528 Total Submissions: 190898 Difficulty: Easy Given an ...

关于LeetCode中Power of Two一题的理解

题目如下: Given an integer, write a function to determine if it is a power of two.      多么朴实无华的题干,输入一个...

leetcode第231题:Power of Two

ProblemGiven an integer, write a function to determine if it is a power of two.题目给出一个整数,写一个函数判断它是否是2...

leetcode Power of Two java--代码小白开始苟延残喘第五天的刷题

苦逼的触及着码农之门:昨天刚开始想着从简单的题目开始刷题,就被这所谓的第一道easy题目刷的搞了一早上搞得蓬头垢面,我决定在坚持一点时间,如果自己码代码的能力依旧入刺之弱的话,就考虑毕业后就转行。。 ...

【LeetCode从零单刷】Number of 1 Bits & Power of Two

菜鸡单刷LeetCode系列!

leetcode- Number of 1 bits, power of two, power of three

leetcode- Number of 1 bits, power of two, power of three
  • aaasy
  • aaasy
  • 2016年04月23日 22:13
  • 86

Non Power of Two Textures 无二次幂限制的纹理

无二次幂限制的纹理(Non-Power-of-Two Textures)   OpenGL仅支持分辨率为2mx2n的纹理。但现在我们可以使用“无二次幂限制”的纹理。   OpenGL only...
  • wolf96
  • wolf96
  • 2015年09月04日 14:40
  • 1602

Round Up To Power Of Two

这个标题应该说明了我们要做什么了,中文的意思是找出一个2^n的数,使其不小于给出的数字。举个例子吧: 如果给一个数字63,那么我需要获取不小于63的数字,但是这个数字需要是2的n次方了,所以 6...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:leetcode 231:Power of Two
举报原因:
原因补充:

(最多只允许输入30个字)