成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專(zhuān)欄INFORMATION COLUMN

「leetcode」231.2的冪

劉東 / 1073人閱讀

摘要:原題給定一個(gè)整數(shù),編寫(xiě)一個(gè)函數(shù)來(lái)判斷它是否是的冪次方。按位與的取值規(guī)則如下,等于等于等于等于。我們可以利用這個(gè)特性,判斷數(shù)字是否為的次冪。

原題

給定一個(gè)整數(shù),編寫(xiě)一個(gè)函數(shù)來(lái)判斷它是否是 2 的冪次方。

示例 1:

輸入: 1
輸出: true
解釋: 20 = 1

示例 2:

輸入: 16
輸出: true
解釋: 24 = 16

示例 3:

輸入: 218
輸出: false
思路

我們首先看一組數(shù)字的二進(jìn)制, 2^n的二進(jìn)制只有一位是1其余全是0,2^n - 1的二進(jìn)制全是1。按位與的取值規(guī)則如下,1 & 1 等于 1; 1 & 0 等于 0;0 & 1 等于0;0 & 0等于0。所以2^n & 2^n-1等于0。我們可以利用這個(gè)特性,判斷數(shù)字是否為2的次冪。

// 2
0b10
// 1
0b01
// 0
0b10 & 0b01 === 0

// 4
0b100
// 3
0b011
// 0
0b100 & 0b011 === 0

// 256
0b100000000
// 255
0b011111111
// 0
0b100000000 & 0b011111111 === 0

// 128
0b10000000
// 127
0b01111111
// 0
0b10000000 && 0b01111111 === 0
代碼 解法1
/**
 * @param {number} n
 * @return {boolean}
 */
var isPowerOfTwo = function(n) {
    if (n <= 0) {
        return false
    }
    if ((n & n - 1) === 0) {
        return true
    } 
    return false
};
解法2
2^n必然會(huì)被1 << 31整除, 也可以利用這一點(diǎn)解答
/**
 * @param {number} n
 * @return {boolean}
 */
var isPowerOfTwo = function(n) {
    if (n <= 0) {
        return false
    }
    if ((1 << 31) % n === 0) {
        return true
    } 
    return false
};

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/106968.html

相關(guān)文章

  • [Leetcode] Power of Two and Power of Four 二之冪四之冪

    摘要:整除法復(fù)雜度時(shí)間空間思路最簡(jiǎn)單的解法,不斷將原數(shù)除以,一旦無(wú)法整除,余數(shù)不為,則說(shuō)明不是的冪,如果整除到,說(shuō)明是的冪。二進(jìn)制位計(jì)數(shù)法復(fù)雜度時(shí)間空間思路的冪有一個(gè)特性,就是它的二進(jìn)制表達(dá)中只有開(kāi)頭是,后面全是。 Power of Two Given an integer, write a function to determine if it is a power of two. 整除法...

    荊兆峰 評(píng)論0 收藏0
  • 求解 4 的冪次方的裝逼解法

    題目來(lái)源于 LeetCode 上第 342 號(hào)問(wèn)題:4 的冪。題目難度為 Easy,目前通過(guò)率為 45.3% 。 題目描述 給定一個(gè)整數(shù) (32 位有符號(hào)整數(shù)),請(qǐng)編寫(xiě)一個(gè)函數(shù)來(lái)判斷它是否是 4 的冪次方。 示例 1: 輸入: 16 輸出: true 示例 2: 輸入: 5 輸出: false 進(jìn)階:你能不使用循環(huán)或者遞歸來(lái)完成本題嗎? 題目解析 這道題最直接的方法就是不停的去除以 4 ,看最終...

    objc94 評(píng)論0 收藏0
  • 額,又是一道裝逼解法的算法題

    摘要:題目難度為,目前通過(guò)率為。這個(gè)特殊的數(shù)有如下特點(diǎn)足夠大,但不能超過(guò)位,即最大為個(gè)它的二進(jìn)制表示中奇數(shù)位為,偶數(shù)位為符合這兩個(gè)條件的二進(jìn)制數(shù)是如果用一個(gè)的冪次方數(shù)和它做與運(yùn)算,得到的還是的冪次方數(shù)。將這個(gè)二進(jìn)制數(shù)轉(zhuǎn)換成進(jìn)制表示。 題目來(lái)源于 LeetCode 上第 342 號(hào)問(wèn)題:4 的冪。題目難度為 Easy,目前通過(guò)率為 45.3% 。 題目描述 給定一個(gè)整數(shù) (32 位有符號(hào)整數(shù))...

    Zack 評(píng)論0 收藏0
  • 70道前端LeetCode題目集合及視頻講解(持續(xù)更新中...)

    前端LeetCode刷題 下面是已刷的題目的目錄。GitHub:https://github.com/cunzaizhuy...每日打卡更新中,歡迎關(guān)注。 數(shù)組類(lèi) 26 刪除排序數(shù)組中的重復(fù)項(xiàng) 27 移除元素 35 搜索插入位置 66 加1 80 medium 刪除排序數(shù)組中的重復(fù)項(xiàng)2 88 合并兩個(gè)有序數(shù)組 167 兩數(shù)之和II - 輸入有序數(shù)組 118 楊輝三角 169 easy 求眾數(shù) 1...

    mayaohua 評(píng)論0 收藏0
  • LeetCode 攻略 - 2019 年 7 月下半月匯總(100 題攻略)

    摘要:月下半旬攻略道題,目前已攻略題。目前簡(jiǎn)單難度攻略已經(jīng)到題,所以后面會(huì)調(diào)整自己,在刷算法與數(shù)據(jù)結(jié)構(gòu)的同時(shí),攻略中等難度的題目。 Create by jsliang on 2019-07-30 16:15:37 Recently revised in 2019-07-30 17:04:20 7 月下半旬攻略 45 道題,目前已攻略 100 題。 一 目錄 不折騰的前端,和咸魚(yú)有什么區(qū)別...

    tain335 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<