前往
大廳
主題

LeetCode - 50. Pow(x, n) 解題心得

Not In My Back Yard | 2022-05-14 12:00:07 | 巴幣 102 | 人氣 131

題目連結:


題目意譯:
實作 pow(x, n),其將計算出 x 的 n 次方(即 x ^ n)。

限制:
-100.0 < x < 100.0
-2 ^ 31 ≦ n ≦ 2 ^ 31 - 1
-10 ^ 4 ≦ x ^ n ≦ 10 ^ 4



範例測資:
範例 1:
輸入: x = 2.00000, n = 10
輸出: 1024.00000

範例 2:
輸入: x = 2.10000, n = 3
輸出: 9.26100

範例 3:
輸入: x = 2.00000, n = -2
輸出: 0.25000
解釋: 2-2 = 1/22 = 1/4 = 0.25


解題思維:
可以看到次方必定是整數,因此我們可以使用快速冪(很久以前有介紹過,見這題,或是可以看 Youtube 頻道 Computerphile (不過是英文的)關於這個方法的介紹)。

那負的次方怎麼辦?因為「負」在次方中代表著「倒數」,因此我們對於一數 x ^ (-n) (其中 n 是正整數)可以變成 (1 / x) ^ n,此時便可以套用一般的快速冪了。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

更多創作