[leetcode] 2 的幂

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

如果存在一个整数 x 使得 n == 2x ,则认为 n 是 2 的幂次方。

示例 1:

复制代码
输入:n = 1
输出:true
解释:20 = 1

示例 2:

复制代码
输入:n = 16
输出:true
解释:24 = 16

示例 3:

复制代码
输入:n = 3
输出:false

提示:

  • -231 <= n <= 231 - 1

进阶:你能够不使用循环/递归解决此问题吗?

Python实现

这是使用n&(n-1)运算,该位运算技巧可以直接将 n二进制表示的最低位 1移除。

复制代码
class Solution:
    def isPowerOfTwo(self, n: int) -> bool:
        return n>0 and n&(n-1)==0
相关推荐
im_AMBER几秒前
Leetcode 58 | 附:滑动窗口题单
笔记·学习·算法·leetcode
sin_hielo2 分钟前
leetcode 2154
算法·leetcode
Sunhen_Qiletian8 分钟前
YOLO的再进步---YOLOv3算法详解(上)
算法·yolo·计算机视觉
我还可以再学点13 分钟前
八股文面试攻略四:网络篇
网络·面试·职场和发展
王中阳Go22 分钟前
面试被挂的第3次,面试官说:你懂的LLM框架,只够骗骗自己
面试·职场和发展
ANYOLY1 小时前
Sentinel 限流算法详解
算法·sentinel
No0d1es2 小时前
电子学会青少年软件编程(C/C++)六级等级考试真题试卷(2025年9月)
c语言·c++·算法·青少年编程·图形化编程·六级
AndrewHZ2 小时前
【图像处理基石】图像去雾算法入门(2025年版)
图像处理·人工智能·python·算法·transformer·cv·图像去雾
Knox_Lai2 小时前
数据结构与算法学习(0)-常见数据结构和算法
c语言·数据结构·学习·算法
川西胖墩墩2 小时前
流程图在算法设计中的实战应用
数据库·论文阅读·人工智能·职场和发展·流程图