package
0.0.0-20230809123828-b071cee2968a
Repository: https://github.com/codehanhan/leetcode-go.git
Documentation: pkg.go.dev
# README
2的幂
1. 题目描述
给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。
如果存在一个整数 x 使得 $n == 2^x$ ,则认为 n 是 2 的幂次方。
2. 示例
示例1
输入:n = 1
输出:true
解释:20 = 1
示例2
输入:n = 16
输出:true
解释:24 = 16
示例3
输入:n = 3
输出:false
示例4
输入:n = 4
输出:true
示例5
输入:n = 5
输出:false
提示
$-2^31 <= n <= 2^31 - 1$
3. 解题
使用二分法求解, 要注意的是当$n=2^31$时,右边界最大只能为31, 否则计算pow(2, mid)的时候会发生溢出。