[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
相关推荐
元亓亓亓1 分钟前
LeetCode热题100--169. 多数元素--简单
算法·leetcode·职场和发展
闲人不梦卿8 分钟前
算法的特性
算法
Z9fish9 分钟前
sse哈工大C语言编程练习22
c语言·开发语言·算法
j4455661111 分钟前
C++中的备忘录模式
开发语言·c++·算法
m0_6038887113 分钟前
POP Prefill-Only Pruning for Efficient Large Model Inference
算法·机器学习·ai·剪枝·论文速览
近津薪荼14 分钟前
dfs专题——二叉树的深搜3(二叉树剪枝)
c++·学习·算法·深度优先
拼好饭和她皆失14 分钟前
数学知识:约数的详细解析
算法·数论
伯明翰java14 分钟前
排序算法(1)
算法·排序算法
啊阿狸不会拉杆17 分钟前
《机器学习导论》第 2 章-监督学习
数据结构·人工智能·python·学习·算法·机器学习·监督学习
乌萨奇也要立志学C++18 分钟前
【洛谷】记忆化搜索 原理剖析与经典例题详解
算法·深度优先