50. Pow(x, n)
題目網址:https://leetcode.cn/problems/powx-n/
題意:給一 double
x
和一整數n
, 返回x
的n
次方。
Solution:
想法:利用 Divide and Conquer, 比如 $2^{10}$ 可拆成 $2^5 * 2^5$, 而 $2^5$ 又可拆成 $2(2^2 * 2^2)$, 依此類推。透過這樣的方法可以避免重複計算, 而不用一直乘
x
class Solution { |
- time:$O(log(n))$ ➔ $T(n)$ = $2 \cdot T(\dfrac{n}{2})$ + $O(1)$
- space:$O(log(n))$ ➔ 取決於遞迴深度, 遞迴深度不超過 $log(n)$
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 Zako's Blog!
評論