[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
相关推荐
AI职业加油站8 分钟前
数字时代先机:大数据采集工程师
大数据·人工智能·机器学习·职场和发展
Wect10 分钟前
LeetCode 4. 寻找两个正序数组的中位数:二分优化思路详解
前端·算法·typescript
马士兵教育12 分钟前
AI大模型教程【LangChainV1.0+LangGraph V1.0】企业级Agent全集开发实战!
开发语言·人工智能·考研·面试·职场和发展
ZPC821013 分钟前
moveitcpp 没办法执行的问题
人工智能·pytorch·算法·机器人
智者知已应修善业15 分钟前
【C++非递归剪枝问题凑钱方案数】2024-7-18
c语言·c++·经验分享·笔记·算法·剪枝
Yolo_TvT17 分钟前
C++:缺省参数
开发语言·c++·算法
进击的小头20 分钟前
第19篇:多个PI控制器串联控制系统设计与参数整定调试实战
python·算法
承渊政道21 分钟前
【优选算法】(实战领略前缀和的真谛)
开发语言·数据结构·c++·笔记·学习·算法
Jul1en_26 分钟前
Java 集合判空方法对比
java·spring boot·算法·spring
handsomethefirst35 分钟前
【算法与数据结构】【面试经典150题】【题46-题50】
数据结构·算法·面试