日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

【剑指offer】面试题16:数值的整数次方(Java)

發(fā)布時(shí)間:2024/7/19 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【剑指offer】面试题16:数值的整数次方(Java) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

實(shí)現(xiàn)函數(shù)double Power(double base, int exponent),求base的exponent次方。不得使用庫(kù)函數(shù),同時(shí)不需要考慮大數(shù)問(wèn)題。

?

示例 1:

輸入: 2.00000, 10
輸出: 1024.00000
示例?2:

輸入: 2.10000, 3
輸出: 9.26100
示例?3:

輸入: 2.00000, -2
輸出: 0.25000
解釋: 2-2 = 1/22 = 1/4 = 0.25
?

說(shuō)明:

-100.0 <?x?< 100.0
n?是 32 位有符號(hào)整數(shù),其數(shù)值范圍是?[?231,?231?? 1] 。

思路:二分法

需要注意的是寫(xiě)return powcorn(x,n/2)*powcorn(x,n/2);會(huì)超出時(shí)間限制

需要減少多余運(yùn)算

定義變量a=powcorn(x,n/2),return? a*a

這樣運(yùn)算一次就夠

代碼:

class?Solution?{

????public?double?myPow(double?x,?int?n)?{

????????int?flag?=?0;

????????if(n==0)

????????{

????????????return?1;

????????}

????????else?if(n<0){

????????????n=-n;

????????????flag=1;

????????}

????????double?result?=?PowCorn(x,n);

????????if(flag==1)

????????{

????????????result?=?1/result;

????????}

????????return?result;

????}

????public?double?PowCorn(double?x,int?n)

????{

????????if(n==0)

????????{

????????????return?1;

????????}

????????double?a?=?PowCorn(x,n/2);

????????if(n%2==0)

????????{

??????????

????????????return?a*a;

????????}

????????else

????????{

????????????return?a*a*x;

????????}

????}

}

總結(jié)

以上是生活随笔為你收集整理的【剑指offer】面试题16:数值的整数次方(Java)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。