LeetCode50 Pow x, n 解題報告

2021-08-17 16:14:33 字數 591 閱讀 5038

題目的意思是實現乙個pow 函式。

input: 2.00000, 10

output: 1024.00000

這裡用的是遞迴的辦法,能夠降低時間複雜度,不過需要對n進行奇數,偶數進行判斷,用了&0x1進行判斷,當判斷n為奇數的時候,乘上x。

**如下:

class solution 

bool flag=false;

//標記是否是負數

if(n<0)

//轉換為非負數

int unsigned_n=abs(n);

//若n為1返回x

if(n==1)

//遞迴呼叫,同時unsigned_n/2

double result=mypow(x, unsigned_n/2);

//n=n/2+n/2(+1)

result=result*result;

if(unsigned_n&0x1)

//若是負數的話,直接用1.0/result

if(flag)

return result;

}};

Leetcode 演算法題50 Pow x,n

題目 50.pow x,n implement pow x,n 題目描述 實現x的n次方 一開始用蠻力法計算,提交 以後系統判斷計算超時,所以採用分治的思想,先計算x的n 2次方,再將結果求平方即可,除錯過程中主要問題就是精度問題,當x為分數 且n較大時,結果可能為0,在求解問題中可能出現0做分分母...

LeetCode 之 Pow x, n (分治法)

問題描述 implement pow x,n 1.基礎知識 1 分治的意識,一道o n 的演算法題,琢磨出o lgn 的思想出來就是要求 2.屌絲 卡殼的地方 1.time limit exceeded。include include include include include using na...

Leetcode第五十題 Pow x, n

題目 實現 pow x,n 即計算 x 的 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 說明 100.0 ...