摘要:題目描述給定一個類型的浮點數和類型的整數。分析可以采取暴力的解決辦法,把乘以次就可以得到結果,但我們肯定不是想要這樣的方法。觀察相乘的過程,比如,其實可以寫成,而且,,我們可以利用高次方的冪可以由低次方的冪相乘得來。
題目描述
給定一個double類型的浮點數a和int類型的整數m。求a的m次方。
分析可以采取暴力的解決辦法,把a乘以m次就可以得到結果,但我們肯定不是想要這樣的方法。
觀察相乘的過程,比如a^7,其實可以寫成a^1*a^2*a^4,而且a^4=a^2*a^2,
a^2=a*a,我們可以利用高次方的冪可以由低次方的冪相乘得來。
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; }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/95812.html
摘要:題目描述顛倒整數給定一個位有符號整數,將整數中的數字進行反轉。根據這個假設,如果反轉后的整數溢出,則返回。思路字符串和數組的之間的轉換用和實現的次方 題目描述 顛倒整數給定一個 32 位有符號整數,將整數中的數字進行反轉。 示例 1: 輸入: 123輸出: 321 示例 2: 輸入: -123輸出: -321示例 3: 輸入: 120輸出: 21注意: 假設我們的環境只能存儲 32 位...
摘要:原碼補碼和反碼原碼一個數在計算機中是以二進制的形式存在的,其中第一位存放符號正數為負數為。中的位運算在中按位操作符會將其操作數轉成補碼形式的有符號位整數。原文鏈接由扯到中的位運算 這個話題的由來是2016年3月份的時候 NPM 社區發生了‘left-pad’事件,不久后社區就有人發布了用來補救的,也是現在大家能用到的 left-pad 庫。 最開始這個庫的代碼是這樣的。 module....
摘要:題目難度為,目前通過率為。這個特殊的數有如下特點足夠大,但不能超過位,即最大為個它的二進制表示中奇數位為,偶數位為符合這兩個條件的二進制數是如果用一個的冪次方數和它做與運算,得到的還是的冪次方數。將這個二進制數轉換成進制表示。 題目來源于 LeetCode 上第 342 號問題:4 的冪。題目難度為 Easy,目前通過率為 45.3% 。 題目描述 給定一個整數 (32 位有符號整數)...
摘要:題目描述給定一個排序數組,你需要在原地刪除重復出現的元素,使得每個元素只出現一次,返回移除后數組的新長度。示例給定函數應該返回新的長度并且原數組的前五個元素被修改為。也就是說,不對實參做任何拷貝在函數里修改輸入數組對于調用者是可見的。 題目描述 給定一個排序數組,你需要在原地刪除重復出現的元素,使得每個元素只出現一次,返回移除后數組的新長度。 不要使用額外的數組空間,你必須在原地修改輸...
閱讀 2597·2021-10-14 09:43
閱讀 3559·2021-10-13 09:39
閱讀 3289·2019-08-30 15:44
閱讀 3137·2019-08-29 16:37
閱讀 3702·2019-08-29 13:17
閱讀 2731·2019-08-26 13:57
閱讀 1825·2019-08-26 11:59
閱讀 1238·2019-08-26 11:46