成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

【刷算法】數(shù)值的整數(shù)次方

jsummer / 1167人閱讀

摘要:題目描述給定一個(gè)類(lèi)型的浮點(diǎn)數(shù)和類(lèi)型的整數(shù)。分析可以采取暴力的解決辦法,把乘以次就可以得到結(jié)果,但我們肯定不是想要這樣的方法。觀察相乘的過(guò)程,比如,其實(shí)可以寫(xiě)成,而且,,我們可以利用高次方的冪可以由低次方的冪相乘得來(lái)。

題目描述

給定一個(gè)double類(lèi)型的浮點(diǎn)數(shù)a和int類(lèi)型的整數(shù)m。求a的m次方。

分析

可以采取暴力的解決辦法,把a(bǔ)乘以m次就可以得到結(jié)果,但我們肯定不是想要這樣的方法。

觀察相乘的過(guò)程,比如a^7,其實(shí)可以寫(xiě)成a^1*a^2*a^4,而且a^4=a^2*a^2,
a^2=a*a,我們可以利用高次方的冪可以由低次方的冪相乘得來(lái)。

代碼實(shí)現(xiàn)
function Power(a, m)
{
    var isNegative = false;
    if(m === 0)
        return 1;
    else if(m < 0){
        if(a === 0)
            throw new Error();
        else{
            isNegative = true;
            m = -m;
        }
    }
    
    var res = 1, cur = a;
    while(m !== 0) {
        if(m & 1 === 1){
            res = res * cur;
        }
        cur = cur * cur;
        m = m >>> 1;
    }
    
    return isNegative ? 1/res : res;
}

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/95812.html

相關(guān)文章

  • 按位操作符

    摘要:將任一數(shù)值與執(zhí)行按位與操作,其結(jié)果都為。中應(yīng)用判斷奇偶性偶數(shù)奇數(shù)按位異或規(guī)則每一位都不同,結(jié)果才為將任一數(shù)值與進(jìn)行異或操作,其結(jié)果為。 位運(yùn)算在算法中很有用,速度可以比四則運(yùn)算快很多。 To2orTo10 JS中十進(jìn)制轉(zhuǎn)二進(jìn)制: (val).toString(2)JS中二進(jìn)制轉(zhuǎn)十進(jìn)制: parseInt(val, 2) JS中規(guī)定安全整數(shù)的范圍是-2^53~2^53,所以大于90071...

    caiyongji 評(píng)論0 收藏0
  • 【LeetCode】字符串初級(jí)算法-顛倒整數(shù)

    摘要:題目描述顛倒整數(shù)給定一個(gè)位有符號(hào)整數(shù),將整數(shù)中的數(shù)字進(jìn)行反轉(zhuǎn)。根據(jù)這個(gè)假設(shè),如果反轉(zhuǎn)后的整數(shù)溢出,則返回。思路字符串和數(shù)組的之間的轉(zhuǎn)換用和實(shí)現(xiàn)的次方 題目描述 顛倒整數(shù)給定一個(gè) 32 位有符號(hào)整數(shù),將整數(shù)中的數(shù)字進(jìn)行反轉(zhuǎn)。 示例 1: 輸入: 123輸出: 321 示例 2: 輸入: -123輸出: -321示例 3: 輸入: 120輸出: 21注意: 假設(shè)我們的環(huán)境只能存儲(chǔ) 32 位...

    wua_wua2012 評(píng)論0 收藏0
  • 由left-pad扯到JS中位運(yùn)算

    摘要:原碼補(bǔ)碼和反碼原碼一個(gè)數(shù)在計(jì)算機(jī)中是以二進(jìn)制的形式存在的,其中第一位存放符號(hào)正數(shù)為負(fù)數(shù)為。中的位運(yùn)算在中按位操作符會(huì)將其操作數(shù)轉(zhuǎn)成補(bǔ)碼形式的有符號(hào)位整數(shù)。原文鏈接由扯到中的位運(yùn)算 這個(gè)話(huà)題的由來(lái)是2016年3月份的時(shí)候 NPM 社區(qū)發(fā)生了‘left-pad’事件,不久后社區(qū)就有人發(fā)布了用來(lái)補(bǔ)救的,也是現(xiàn)在大家能用到的 left-pad 庫(kù)。 最開(kāi)始這個(gè)庫(kù)的代碼是這樣的。 module....

    LeoHsiun 評(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
  • 算法】LeetCode.26-從排序數(shù)組中刪除重復(fù)項(xiàng)

    摘要:題目描述給定一個(gè)排序數(shù)組,你需要在原地刪除重復(fù)出現(xiàn)的元素,使得每個(gè)元素只出現(xiàn)一次,返回移除后數(shù)組的新長(zhǎng)度。示例給定函數(shù)應(yīng)該返回新的長(zhǎng)度并且原數(shù)組的前五個(gè)元素被修改為。也就是說(shuō),不對(duì)實(shí)參做任何拷貝在函數(shù)里修改輸入數(shù)組對(duì)于調(diào)用者是可見(jiàn)的。 題目描述 給定一個(gè)排序數(shù)組,你需要在原地刪除重復(fù)出現(xiàn)的元素,使得每個(gè)元素只出現(xiàn)一次,返回移除后數(shù)組的新長(zhǎng)度。 不要使用額外的數(shù)組空間,你必須在原地修改輸...

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

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

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<