博客
关于我
LeetCode0231. x的幂
阅读量:313 次
发布时间:2019-03-03

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

2的幂次方判断

题目:给定一个整数,编写一个函数来判断它是否是2的幂次方。

解题代码:

public boolean isPowerOfTwo(int n) {    if (n <= 0) {        return false;    }    return (n & (n - 1)) == 0;}

分析:

  • 时间复杂度:O(1)
  • 空间复杂度:O(1)

3的幂次方判断

题目:给定一个整数,写一个函数来判断它是否是3的幂次方。

解题代码:

public boolean isPowerOfThree(int n) {    if (n < 1) {        return false;    }    while (n % 3 == 0) {        n = n / 3;    }    return n == 1;}

分析:

  • 时间复杂度:O(log n)
  • 空间复杂度:O(1)

4的幂次方判断

题目:给定一个整数,判断它是否是4的幂次方。

解题代码:

public boolean isPowerOfFour(int num) {    if (num < 1) {        return false;    }    return ((num & (num - 1)) == 0 && (num & 0xAAAAAAAA) == 0);}

分析:

  • 时间复杂度:O(1)
  • 空间复杂度:O(1)

转载地址:http://hvum.baihongyu.com/

你可能感兴趣的文章
nativescript(angular2)——ListView组件
查看>>
NativeWindow_01
查看>>
Native方式运行Fabric(非Docker方式)
查看>>
Nature | 电子学“超构器件”, 从零基础到精通,收藏这篇就够了!
查看>>
Nature和Science同时报道,新疆出土四千年前遗骸完成DNA测序,证实并非移民而是土著...
查看>>
Nature封面:只低一毫米,时间也会变慢!叶军团队首次在毫米尺度验证广义相对论...
查看>>
Nat、端口映射、内网穿透有什么区别?
查看>>
Nat、端口映射、内网穿透有什么区别?
查看>>
nat打洞原理和实现
查看>>
NAT技术
查看>>
NAT模式/路由模式/全路由模式 (转)
查看>>
NAT模式下虚拟机centOs和主机ping不通解决方法
查看>>
NAT的两种模式SNAT和DNAT,到底有啥区别?
查看>>
NAT的全然分析及其UDP穿透的全然解决方式
查看>>
NAT类型与NAT模型详解
查看>>
NAT网络地址转换配置实战
查看>>
NAT网络地址转换配置详解
查看>>
navbar navbar-inverse 导航条设置颜色
查看>>
Navicat for MySQL 命令列 执行SQL语句 历史日志
查看>>
Navicat for MySQL 查看BLOB字段内容
查看>>