题目链接:点击打开链接
题目大意:略
解题思路
相关企业
- 字节跳动
- 亚马逊(Amazon)
- 彭博(Bloomberg)
- 谷歌(Google)
- 微软(Microsoft)
- 优步(Uber)
- 高盛集团(Goldman Sachs)
- 苹果(Apple)
- 领英(LinkedIn)
AC 代码
- Java
// 解决方案(1)// 模拟版classSolution { publicdoublemyPow(doublex, intn) { longmaxn=n; if (n==0||x==1) return1.0; if (x==-1) returnn%2==0?1.0 : -1.0; if (n<0&&-maxn>50) return0.0; doubleres=1.0; booleanflag=false; if (n<0) { n=-n; flag=true; } while (n--!=0) { res*=x; } if (flag) { res=1.0/res; } res= ((int)(res*100000+0.5)) /100000.0; returnres; } } // 解决方案(2)// 快速幂版classSolution { publicdoublemyPow(doublex, intn) { if(x==0.0f) return0.0d; longb=n; doubleres=1.0; if(b<0) { x=1/x; b=-b; } while(b>0) { if((b&1) ==1) res*=x; x*=x; b>>=1; } returnres; } }
- C++
classSolution { public: doublemyPow(doublex, intn) { if(x==0.0f) return0.0; longb=n; doubleres=1.0; if(b<0) { x=1/x; b=-b; } while(b>0) { if((b&1) ==1) res*=x; x*=x; b>>=1; } returnres; } };