摘要:題目描述給定一個(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)。
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
摘要:將任一數(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...
摘要:題目描述顛倒整數(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 位...
摘要:原碼補(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....
摘要:題目難度為,目前通過(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ù))...
摘要:題目描述給定一個(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ù)組空間,你必須在原地修改輸...
閱讀 2611·2021-10-14 09:43
閱讀 3570·2021-10-13 09:39
閱讀 3304·2019-08-30 15:44
閱讀 3154·2019-08-29 16:37
閱讀 3718·2019-08-29 13:17
閱讀 2742·2019-08-26 13:57
閱讀 1834·2019-08-26 11:59
閱讀 1261·2019-08-26 11:46