美文网首页
LeetCode刷题 231. 2的幂

LeetCode刷题 231. 2的幂

作者: 逍遥白亦 | 来源:发表于2021-01-18 23:51 被阅读0次

231. 2的幂

题目

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

示例1:

输入: 1
输出: true
解释: 2^0 = 1

示例 2:

输入: 16
输出: true
解释: 2^4 = 16

示例 3:

输入: 218
输出: false

思路

  1. 简单法
    每次对2取余,最终如果n==1,则该数为2的幂

  2. 数学法
    一个重要的信息可以从函数名中推导出来。

public boolean isPowerOfThree(int n)

我们可以看出 n 的类型是 int。在 Java 中说明了该变量是四个字节,他的最大值为 2147483647。

所以在小于2147483647里3的最大幂是1073741824

public class Solution {
    public boolean isPowerOfThree(int n) {
        return n > 0 && 1073741824 % n == 0;
    }
}

代码

class Solution {
    public boolean isPowerOfTwo(int n) {
        if( n < 1){
            return false;
        }

        while(n % 2 == 0){
            n >>= 1;
        }

        return n == 1;
    }
}

相关文章

  • LeetCode刷题 231. 2的幂

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

  • LeetCode 231-240

    231. 2的幂[https://leetcode-cn.com/problems/power-of-two/] ...

  • Leecode 位运算

    231. 2的幂[https://leetcode-cn.com/problems/power-of-two/] ...

  • LeetCode刷题-2的幂

    前言说明 算法学习,日常刷题记录。 题目连接 2的幂[https://leetcode-cn.com/proble...

  • Leetcode 231. 2的幂

    题目描述 给定一个整数,编写一个函数来判断它是否是 2 的幂次方。 示例 1: 输入: 1输出: true解释: ...

  • leetcode 231. 2的幂

    leetcode[https://leetcode-cn.com/problems/power-of-two/] ...

  • LeetCode 231. 2 的幂

    题目 给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。如...

  • [LeetCode][Python]231. 2的幂

    给定一个整数,编写一个函数来判断它是否是 2 的幂次方。 示例 1: 输入: 1输出: true解释: 20 = ...

  • LeetCode刷题-3的幂

    前言说明 算法学习,日常刷题记录。 题目连接 3的幂[https://leetcode-cn.com/proble...

  • LeetCode刷题-4的幂

    前言说明 算法学习,日常刷题记录。 题目连接 4的幂[https://leetcode-cn.com/proble...

网友评论

      本文标题:LeetCode刷题 231. 2的幂

      本文链接:https://www.haomeiwen.com/subject/cabfzktx.html