国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

leetcode50 Pow(x, n)自定義實(shí)現(xiàn)指數(shù)運(yùn)算

DoINsiSt / 1337人閱讀

摘要:題目要求此處為題目鏈接即用自己的代碼實(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ì)算

這題的思路我之前的一篇博客思路基本相同。有興趣的可以直接翻看那篇博客再思考一下這題。代碼如下

public double myPow(double x, int n) {
        if(x==0) return 0;
        if(n==0) return 1;
            
        x = n>0 ? x : 1/x;
        n = Math.abs(n);
        if(n%2!=0){
            return x*myPow(x, n-1);
        }
        long temp = 1;
        double result = x;
        while(n >= (temp+temp)){
            temp += temp;
            result *= result;
        }
        return result*myPow(x, n-(int)temp);
    }
思路二:遞歸

遞歸的方法在大多數(shù)情況下比較消耗存儲(chǔ)空間,因?yàn)闀?huì)保留上一個(gè)結(jié)果的所有情況和指向子函數(shù)的指針。所以在能轉(zhuǎn)換為循環(huán)的情況下還是最好使用循環(huán)來(lái)解決。

    double myPow(double x, int n) {
        if(n<0) return 1/x * myPow(1/x, -(n+1));
        if(n==0) return 1;
        if(n==2) return x*x;
        if(n%2==0) return myPow( myPow(x, n/2), 2);
        else return x*myPow( myPow(x, n/2), 2);
    }


想要了解更多開(kāi)發(fā)技術(shù),面試教程以及互聯(lián)網(wǎng)公司內(nèi)推,歡迎關(guān)注我的微信公眾號(hào)!將會(huì)不定期的發(fā)放福利哦~

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

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

相關(guān)文章

  • JavaScript是怎樣編碼數(shù)字的[How numbers are encoded in Java

    摘要:譯者注規(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ù)的處理,所以讀完本篇之后,...

    oysun 評(píng)論0 收藏0
  • 數(shù)字在JavaScript中是如何編譯的

    摘要:數(shù)字?jǐn)?shù)字都是浮點(diǎn)數(shù),按照標(biāo)準(zhǔn)進(jìn)行存儲(chǔ)。因此,只有偶數(shù)可以在范圍內(nèi)表示。但只有超過(guò)指數(shù)的上限才稱(chēng)為中的溢出。結(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ù),定...

    Moxmi 評(píng)論0 收藏0
  • JS數(shù)值

    摘要:由于浮點(diǎn)數(shù)不是精確的值,所以涉及小數(shù)的比較和運(yùn)算要特別小心。根據(jù)標(biāo)準(zhǔn),位浮點(diǎn)數(shù)的指數(shù)部分的長(zhǎng)度是個(gè)二進(jìn)制位,意味著指數(shù)部分的最大值是的次方減。也就是說(shuō),位浮點(diǎn)數(shù)的指數(shù)部分的值最大為。 一 前言 這篇文章主要解決以下三個(gè)問(wèn)題: 問(wèn)題1:浮點(diǎn)數(shù)計(jì)算精確度的問(wèn)題 0.1 + 0.2; //0.30000000000000004 0.1 + 0.2 === 0.3; // ...

    williamwen1986 評(píng)論0 收藏0
  • 你對(duì)Number一無(wú)所知

    摘要:表示正數(shù),表示負(fù)數(shù)。是一個(gè)無(wú)符號(hào)整數(shù),因?yàn)殚L(zhǎng)度是位,取值范圍是。浮點(diǎn)數(shù)具體數(shù)值的實(shí)際表示。例如對(duì)于單精度浮點(diǎn)數(shù),指數(shù)部分實(shí)際最小值是,對(duì)應(yīng)的尾數(shù)部分從一直到,相鄰兩小浮點(diǎn)數(shù)之間的距離都是而與最近的浮點(diǎn)數(shù)即最小的非規(guī)約數(shù)也是。 二進(jìn)制表示小數(shù) 例如用二進(jìn)制表示 0.8125 0.8125 0.8125*2 = 1.625 取整為 1 0.625*2=1.25 取整為 1 0.25*2=0...

    Hanks10100 評(píng)論0 收藏0
  • Python標(biāo)準(zhǔn)庫(kù)---10、內(nèi)置類(lèi)型:數(shù)字類(lèi)型

    摘要:上一篇文章標(biāo)準(zhǔn)庫(kù)內(nèi)置類(lèi)型邏輯值檢測(cè)布爾運(yùn)算比較下一篇文章標(biāo)準(zhǔn)庫(kù)內(nèi)置類(lèi)型迭代器類(lèi)型序列類(lèi)型數(shù)字類(lèi)型存在三種不同的數(shù)字類(lèi)型整數(shù)浮點(diǎn)數(shù)和復(fù)數(shù)。標(biāo)準(zhǔn)庫(kù)包含附加的數(shù)字類(lèi)型,如表示有理數(shù)的以及以用戶(hù)定制精度表示浮點(diǎn)數(shù)的。 上一篇文章:Python標(biāo)準(zhǔn)庫(kù)---9、內(nèi)置類(lèi)型:邏輯值檢測(cè)、布爾運(yùn)算、比較下一篇文章:Python標(biāo)準(zhǔn)庫(kù)---11、內(nèi)置類(lèi)型:迭代器類(lèi)型、序列類(lèi)型 數(shù)字類(lèi)型 --- int,...

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

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

0條評(píng)論

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