摘要:?jiǎn)栴}描述題目要求我們實(shí)現(xiàn)一個(gè)求的次冪的函數(shù)函數(shù),其中冪次數(shù)也可以是復(fù)數(shù)。其中是類型,范圍是。的范圍是想法如果單純的暴力循環(huán)的話,會(huì)引起超時(shí)的問(wèn)題。我們?cè)谶@里可以用一種二分法的思想解決這個(gè)問(wèn)題。同時(shí)注意當(dāng)為時(shí),如果直接讓會(huì)溢出的問(wèn)題。
問(wèn)題描述
Implement pow(x, n), which calculates x raised to the power n (xn).想法
題目要求我們實(shí)現(xiàn)一個(gè)求x的n次冪的函數(shù)(pow函數(shù)),其中冪次數(shù)也可以是復(fù)數(shù)。
其中n是Integer類型,范圍是 [?2^31, 2^31 ? 1]。x的范圍是(-100,100)Example 1:
Input: 2.00000, 10
Output: 1024.00000
Example 2:
Input: 2.10000, 3
Output: 9.26100
Example 3:
Input: 2.00000, -2
Output: 0.25000
Explanation: 2-2 = 1/22 = 1/4 = 0.25
如果單純的暴力循環(huán)的話,會(huì)引起超時(shí)的問(wèn)題。解法
我們?cè)谶@里可以用一種二分法的思想解決這個(gè)問(wèn)題。
同時(shí)注意當(dāng)n為?2^31時(shí),如果直接讓n=-n會(huì)溢出的問(wèn)題。
public double myPow(double x, int n) { if (n == 0) return 1; if (n < 0){ x = 1/x; return (n %2 == 0) ? myPow(x*x, -(n/2)) : x*myPow(x*x, -(n/2)); } return (n %2 == 0) ? myPow(x*x, n/2) : x*myPow(x*x, n/2); }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/71587.html
摘要:題目要求此處為題目鏈接即用自己的代碼實(shí)現(xiàn)指數(shù)運(yùn)算。指數(shù)為負(fù)數(shù)即求其倒數(shù)。思路一二分法計(jì)算這題的思路我之前的一篇博客思路基本相同。所以在能轉(zhuǎn)換為循環(huán)的情況下還是最好使用循環(huán)來(lái)解決。 題目要求 此處為題目鏈接即用自己的代碼實(shí)現(xiàn)指數(shù)運(yùn)算。指數(shù)運(yùn)算一般有兩種情況,即指數(shù)為整數(shù)和指數(shù)為負(fù)數(shù)的情況。指數(shù)為負(fù)數(shù)即求其倒數(shù)。 思路一:二分法計(jì)算 這題的思路我之前的一篇博客思路基本相同。有興趣的可以直接...
摘要:譯者注規(guī)范化就是把小數(shù)點(diǎn)放在第一個(gè)非零數(shù)字的后面總結(jié)當(dāng)指數(shù)的范圍是十進(jìn)制分?jǐn)?shù)不是所有的十進(jìn)制分?jǐn)?shù)都能夠非常精確的表示例如和都不能夠被精確的表示成二進(jìn)制浮點(diǎn)數(shù)。相同的,也不能被精確表示成一個(gè)十進(jìn)制分?jǐn)?shù),它大概能被表示成。 在JavaScript中所有的數(shù)字都是浮點(diǎn)數(shù),本篇文章將介紹這些浮點(diǎn)數(shù)在JavaScript內(nèi)部是怎樣被轉(zhuǎn)為64位二進(jìn)制的。我們會(huì)特別考慮整數(shù)的處理,所以讀完本篇之后,...
摘要:數(shù)字?jǐn)?shù)字都是浮點(diǎn)數(shù),按照標(biāo)準(zhǔn)進(jìn)行存儲(chǔ)。因此,只有偶數(shù)可以在范圍內(nèi)表示。但只有超過(guò)指數(shù)的上限才稱為中的溢出。結(jié)論在這篇博文中,我們研究了如何將其浮點(diǎn)數(shù)轉(zhuǎn)換為位。 JavaScript中的所有數(shù)字都是浮點(diǎn)數(shù)。這篇博客文章解釋了這些浮點(diǎn)數(shù)如何在64位二進(jìn)制內(nèi)部表示。由于特別考慮,本文中的數(shù)字將用整數(shù)表示,以便在閱讀本文后,您將了解在以下交互中會(huì)發(fā)生什么: (譯者注:浮點(diǎn)數(shù)并不一定等于小數(shù),定...
摘要:進(jìn)制轉(zhuǎn)進(jìn)制也類似,從右往左每個(gè)數(shù)的次方,從開始。短的轉(zhuǎn)換主要思路,維護(hù)一個(gè)全局自增的,每來(lái)一個(gè)長(zhǎng),將其與一個(gè)自增綁定,然后利用將該自增轉(zhuǎn)換為字符串,即完成轉(zhuǎn)換。測(cè)試關(guān)于容量自增為型,最大如何設(shè)計(jì)短網(wǎng)址系統(tǒng) 序 base64大家肯定是很熟悉了,那base62是什么東東,它常被用來(lái)做短url的映射。 ascii編碼的62個(gè)字母數(shù)字 Value Encoding Value Encodin...
摘要:時(shí)間復(fù)雜度為,和分別是和的長(zhǎng)度示例如下輸出輸出把從號(hào)位開始長(zhǎng)度為的子串替換為上把的迭代器范圍的子串替換為示例如下 歡迎回到:遇見藍(lán)橋遇見你,不負(fù)代碼不負(fù)卿! 目錄 【補(bǔ)充】:常用頭文件及庫(kù)函數(shù) 1.#include sscanf() 和 sprintf() 2.#include 3.#...
閱讀 2786·2021-11-22 14:45
閱讀 2925·2021-09-10 11:26
閱讀 3231·2021-09-07 10:18
閱讀 2219·2019-08-30 14:08
閱讀 617·2019-08-29 12:22
閱讀 1393·2019-08-26 13:48
閱讀 2535·2019-08-26 10:24
閱讀 1150·2019-08-23 18:35