美文网首页随笔
Leetcode 342. 4的幂

Leetcode 342. 4的幂

作者: zhipingChen | 来源:发表于2019-10-07 14:46 被阅读0次

题目描述

给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方。

示例 1:

输入: 16
输出: true

示例 2:

输入: 5
输出: false

解法

如果该值是 4 的幂次方,则该值的二进制位中只有一位为 1,且处于奇数位上,其他位全部为 0。如下所示:

0001
0100

因为该值是 4 的幂次方,则该值是 2 的幂次方,可以首先通过 num&(num-1)==0,确定只有一位上为 1,然后判断该位处于奇数位。

通过与偶数位上全部为 0 的数值进行与运算,结果不为 0,则说明该值的 1 处于奇数位上。

class Solution(object):
    def isPowerOfFour(self, num):
        """
        :type num: int
        :rtype: bool
        """
        if num<=0 or num&(num-1):
            return False
        return num&0x55555555

相关文章

  • Leetcode 342. 4的幂

    题目描述 给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方。 示例 1: 输入: ...

  • 342. 4的幂-leetcode

    给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方。 示例 1: 示例 2: 进阶:...

  • 2019-04-08

    LeetCode 342. Power of Four Description Given an integer ...

  • 【LeetCode】4的幂

    题目描述: 给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方。示例 1:输入: 1...

  • Swift - LeetCode - 4的幂

    题目 给定一个整数,写一个函数来判断它是否是 4 的幂次方。如果是,返回 true;否则,返回 false。 整数...

  • 额,又是一道装逼解法的算法题

    题目来源于 LeetCode 上第 342 号问题:4 的幂。题目难度为 Easy,目前通过率为 45.3% 。 ...

  • 一起学算法-231. 2 的幂

    一、题目 LeetCode-231. 2 的幂链接:https://leetcode-cn.com/problem...

  • LeetCode刷题-4的幂

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

  • Leetcode 342. Power of Four

    文章作者:Tyan博客:noahsnail.com | CSDN | 简书 1. Description 2. S...

  • LeetCode*342. Power of Four

    LeetCode题目 题目: Given an integer (signed 32 bits), write a...

网友评论

    本文标题:Leetcode 342. 4的幂

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