LeetCode 之 Pow x, n (分治法)

2021-07-04 07:48:42 字數 590 閱讀 5769

【問題描述】

implement pow(x, 

n).1.【基礎知識】

1)分治的意識,一道o(n)的演算法題,琢磨出o(lgn)的思想出來就是要求; 2.

【屌絲**】

卡殼的地方:

1.time limit exceeded。

#include #include #include #include #include using namespace std; 

// status: time limit exceeded

class solution * x^ * x^ $

// 時間複雜度 o(logn),空間複雜度 o(1)

class solution

private:

double power(double x, int n)

};

4.【覆盤】

1)卡殼部分

o(n)與o(lgn)的差距;

指數的負數考慮。

2)ac原始碼思想——二分(分治思想)

二分法: x^n = x^n/2 × x^n/2 × x^n%2

Leetcode 演算法題50 Pow x,n

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

LeetCode50 Pow x, n 解題報告

題目的意思是實現乙個pow 函式。input 2.00000,10 output 1024.00000這裡用的是遞迴的辦法,能夠降低時間複雜度,不過需要對n進行奇數,偶數進行判斷,用了 0x1進行判斷,當判斷n為奇數的時候,乘上x。如下 class solution bool flag false ...

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 ...