Implement pow(x, n).
注意事项
You don't need to care about the precision of your answer, it's acceptable if the expected answer and your answer 's difference is smaller than 1e-3
.
样例
Pow(2.1, 3) = 9.261
Pow(0, 1) = 0
Pow(1, 0) = 1
挑战
O(logn) time
时间复杂度没能做到挑战要求 简单搜了下应该是采用二分法 不过看到logn自然应该是想到二分法咯 先整理自己写的这个吧 日后再说
public class Solution {
/**
* @param x the base number
* @param n the power number
* @return the result
*/
public double myPow(double x, int n) {
// Write your code here
if(n == 0){
return 1;
}
double r = 1;
if(n > 0)
for(int i = 0 ; i < n ; i++)
r = r * x;
if(n < 0){
for(int i = 0 ; i < -n ; i++){
r = r * x;
}
r = 1 / r;
}
return r;
}
}