LintCode428。xのn乗Pythonアルゴリズム

解説

pow(x、n)を実装します(nは整数です)。

説明

正確さについては心配しないでください。回答と標準出力の差の絶対値が1e-3未満の場合は正しいです

サンプル

- 样例 1:

输入: x = 9.88023, n = 3
输出: 964.498
- 样例 2:

输入: x = 2.1, n = 3
输出: 9.261

- 样例 3:

输入: x = 1, n = 0
输出: 1

チャレンジ

時間の複雑さO(logn)

解析中

class Solution:
    def myPow(self, x, n):
        if x == 0:
            return 0
            
        if n < 0:
            x = 1.0 / x
            n = abs(n)
        
        res = 1
        while n != 0:
            if n & 1:
                res *= x
            x *= x
            n = n >> 1
        return res

演算結果

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/SmallTeddy/article/details/108614736