题目
实现x的n次幂。
问题分析:
当n大于零,等于零,小于零时都需要分析
思路:反复迭代,利用通过二进制位进行缩短计算时间。
力扣通过代码:
double myPow(double x, int n) { long nn=n; double ret=1; if(x==1||x==0) { return x; } if(n==0) { return 1; } if(n < 0) { x = 1/x; nn *= -1; } while(nn!=0) { if(nn&1) { ret *= x; } x*=x; nn/=2; } return ret; }
又是麻木的一天,喜欢暴力求解的我感到万分难过。