LeetCode 50. Pow(x, n)
2016-04-26 20:56
302 查看
问题
https://leetcode.com/problems/powx-n/解法
计算出2的幂次个x相乘的结果,然后将n分解成2的幂次,使用log(n)次即可求得结果。class Solution { public: double myPow(double x, int n) { if (x ==0.0 && n == 0) return 0.0/0.0; double ret = 1.0; bool flag; if (n>0) flag = false; else{ flag = true; if (n == INT_MIN) { ++n; ret/= x; } n = -n; } double t = x; for (int i=0; n&& i<32; ++i, n>>=1) { if (n&0x01) { if (flag) ret /= t; else ret*= t; } t = t*t; } return ret; } };
相关文章推荐
- (matlab)plot画图的颜色线型
- STL之空间配置器
- shape使用正确姿势
- JDBC03
- 关于企业应用架构模式总体分析
- GDB调试原理
- 关于java的Cliass类
- 操作系统典型调度算法
- 7. Reverse Integer
- 8. String to Integer (atoi)
- poj 2104 K-th Number(主席树,静态第k小)
- 让EditText无法点击编辑和RatingBar无法点击
- java中枚举类的使用详解
- #leetcode#21. Merge Two Sorted Lists
- 常见的解析方式(java)
- 我自己用的AHK脚本
- Tab切换
- 指针总结(—)
- 12. Integer to Roman
- 73种网页常用js代码(转)