給定乙個double型別的浮點數base和int型別的整數exponent。求base的exponent次方。
保證base和exponent不同時為0。
分析一下三種特殊情況:
(1)底數base=0,返回0;
(2)冪次exponent=0,返回1;
(3)冪次exponent《時0,先把exponent變成整數,然後對冪運算後結果求倒數。
# -*- coding:utf-8 -*-
class
solution
:def
power
(self, base, exponent)
:# write code here
if exponent ==0:
return
1if base ==0:
return
0if exponent<0:
abs_eponent =
-exponent
return1/
(base**abs_eponent)
if exponent>0:
return base**exponent
12 數值的整數次方
題目 給定乙個double型別的浮點數base和int型別的整數exponent。求base的exponent次方。思路 很自然的會想到用迭代。但是也可以用二分法來解決問題,時間複雜度為o logn 個人覺得,這個題目最難的是有很多邊界問題需要考慮。public class solution els...
12 數值的整數次方
數值的整數次方 給定乙個double型別的浮點數base和乙個int型別的整數exponent。求base的exponent次方 思路 全面考察底數是否為0,以及指數的正負等邊界情況 求a的n次方 一種效率高的求法 當n為偶數時,a n a n 2 a n 2 當n為基數時,a n a n 1 2 ...
12 數值的整數次方
給定乙個 double 型別的浮點數 base 和 int 型別的整數 exponent,求 base 的 exponent 次方。下面的討論中 x 代表 base,n 代表 exponent。因為 x x n 2 可以通過遞迴求解,並且每次遞迴 n 都減小一半,因此整個演算法的時間複雜度為 o l...