题目
实现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; }
又是麻木的一天,喜欢暴力求解的我感到万分难过。