231. 2的冪
題目分析:
除了特殊數字1之外,凡是2的冪的整數,在整除2的時候餘數都為0,並且一直除以2最後總能得到商是1。
此外還需要注意0這個情況。
//C++
class Solution {
public:
bool isPowerOfTwo(int n) {
while(n >= 2 && n % 2 == 0){
n >>= 1;
}
return n == 1;
}
};
class Solution {
public:
bool isPowerOfTwo (int n) {
if(n == 0){
return false;
}
while(n % 2 == 0){
n >>= 1;
}
return n == 1;
}
};
相關推薦
leetcode刷題筆記231 2的冪
show 判斷 clas 進制 OS 分析 分享 bsp gif 題目描述: 給定一個整數,寫一個函數來判斷它是否是2的冪。 題目分析: 判斷一個整數是不是2的冪,可根據二進制來分析。2的冪如2,4,8,等有一個特點: 二進制數首位為1,其他位為0,如2為10
LeetCode--231--2的冪函
div pre 示例 lee wid false 問題 bject tco 問題描述: 給定一個整數,編寫一個函數來判斷它是否是 2 的冪次方。 示例 1: 輸入: 1 輸出: true 解釋: 2 0 = 1 示例 2: 輸入: 16 輸出: true 解釋: 2 4
231. 2的冪 | Power of Two
only add credit ive mine 示例 edit UNC bsp Given an integer, write a function to determine if it is a power of two. Credits:Special thanks
Leetcode---231. 2的冪
給定一個整數,編寫一個函式來判斷它是否是 2 的冪次方。 示例 1: 輸入: 1 輸出: true 解釋: 20 = 1 示例 2: 輸入: 16 輸出: true 解釋: 24 = 16 示例 3: 輸入: 218 輸出: false --
leetcode 231. 2的冪 【Easy】
題目: 給定一個整數,編寫一個函式來判斷它是否是 2 的冪次方。 示例 1: 輸入: 1 輸出: true 解釋: 20 = 1 示例 2: 輸入: 16 輸出: true 解釋: 24 = 16 示例 3: 輸入: 218 輸出: fals
231. 2的冪
題目分析: 除了特殊數字1之外,凡是2的冪的整數,在整除2的時候餘數都為0,並且一直除以2最後總能得到商是1。 此外還需要注意0這個情況。 //C++ class Solution { public: bool isPowerOfTwo(int n) { wh
LeetCode:231. 2的冪
1、題目描述 給定一個整數,編寫一個函式來判斷它是否是 2 的冪次方。 示例 1: 輸入: 1 輸出: true 解釋: 20 = 1 示例 2: 輸入: 16 輸出: true 解釋: 24 = 16 示例 3: 輸入: 218 輸出: false
[Leetcode] 231. 2的冪 java
給定一個整數,編寫一個函式來判斷它是否是 2 的冪次方。 示例 1: 輸入: 1 輸出: true 解釋: 20 = 1 示例 2: 輸入: 16 輸出: true 解釋: 24 = 16 示例 3: 輸入: 218 輸出: false class Soluti
Leetcode 231. 2的冪(Python3)
231. 2的冪 給定一個整數,編寫一個函式來判斷它是否是 2 的冪次方。 示例 1: 輸入: 1 輸出: true 解釋: 20 = 1 示例 2: 輸入: 16 輸出: true 解釋: 24 = 16 示例 3: 輸入: 218 輸出:
leetcode 231. 2的冪(Power of Two)
解法 href 次方 title toc 描述 pre 題目 public 目錄 題目描述: 示例 1: 示例 2: 示例 3: 解法:
[LeetCode]231. Power of Two判斷是不是2的冪
post 判斷 一位 clas 左移 power col style lee /* 用位操作,乘2相當於左移1位,所以2的冪只有最高位是1 所以問題就是判斷你是不是只有最高位是1,怎判斷呢 這些數-1後形成的數,除了最高位,
LeetCode-231 power-of-two 2的冪
題目連結 https://leetcode-cn.com/problems/power-of-two/ 題意 中文題,題面意思,給一個整數判定是否為2的冪。 題解 有趣的一個題,就是太水了。直接暴力也能做其實,不過時間沒
2的n次冪,判斷一個數是否能寫成m個2相乘,LeetCode 231號問題 給定一個整數,編寫一個函式來判斷它是否是 2 的冪次方。
2的n次冪,判斷一個數是否能寫成m個2相乘,LeetCode 231號問題 給定一個整數,編寫一個函式來判斷它是否是 2 的冪次方。 示例 1: 輸入: 1 輸出: true 解釋: 20 = 1 示例 2: 輸入: 16 輸出: true 解釋: 24 = 16 示例 3:
遞歸--練習9--noi8758 2的冪次方表示
efi fine -a ret problem 來源 n! cnblogs color 遞歸--練習9--noi8758 2的冪次方表示 一、心得 找準子問題就好 二、題目 8758:2的冪次方表示 總時間限制: 1000ms 內存限制: 65536kB描述 任何一個
js 如何判斷一個數字是不是2的n次方冪
func cnblogs turn 什麽 是否 分享 是什麽 規律 true 昨天去面試時,面試官問了一道面試題,說如何判斷一個數是不是2的n次方冪,我當時不知道2的n次方冪是什麽(糗大發了??),還好給我解釋了一下。最後回家上網查查資料,整理了一下方法。 方法一
BZOJ 1677 [Usaco2005 Jan]Sumsets 求和:dp 無限背包 / 遞推【2的冪次方之和】
zoj mem iostream memset bzoj -1 target ont 背包 題目鏈接:http://www.lydsy.com/JudgeOnline/problem.php?id=1677 題意: 給定n(n <= 10^6),將n分解為2的冪次
POJ 3233-Matrix Power Series( S = A + A^2 + A^3 + … + A^k 矩陣快速冪取模)
spa nta plm lines case arch lang stream 矩陣 Matrix Power Series Time Limit: 3000MS Memory Limit: 131072K Total Submissions: 20309
算法訓練 2的次冪表示(藍橋杯C++寫法)
ostream ali font 我們 DC ace 找到 進制 就是 問題描述 任何一個正整數都可以用2進制表示,例如:137的2進制表示為10001001。 將這種2進制表示寫成2的次冪的和的形式,令次冪高的排在前面,可得到如下表達式:137=2^7+2^3+2^
2的冪
spa ftw pan nbsp 函數 bsp 是否 span == 給定一個整數,寫一個函數來判斷它是否是 2 的冪次方。 class Solution { public: bool isPowerOfTwo(int n) { if(n<
004:2的冪次方表示
nbsp fir 同時 但是 const tor ace fin div 描述 任何一個正整數都可以用2的冪次方表示。例如: 137=27+23+20 同時約定方次用括號來表示,即ab可表示為a(b)。由此可知,137可表示為: 2(7)+2(3)+2(0)