博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Leetcode] Pow(x, n)
阅读量:7244 次
发布时间:2019-06-29

本文共 688 字,大约阅读时间需要 2 分钟。

Implement pow(xn).

注意n等于INT_MIN的时候,直接让n = -n会整形溢出.

 

二分法:

1 class Solution { 2 public: 3     double pow(double x, int n) { 4         if (n == 0) return 1; 5         if (n < 0) return 1 / (pow(x, -(n + 1)) * x); 6         double e = pow(x, n / 2); 7         if (n % 2 == 0) { 8             return e * e;; 9         } else {10             return x * e * e;11         }12     }13 };

 

快速幂乘法:

1 class Solution { 2 public: 3     double myPow(double x, int n) { 4         if (n < 0) return 1 / (pow(x, -(n + 1)) * x); 5         double res = 1; 6         while (n > 0) { 7             if (n & 1) res *= x; 8             x *= x; 9             n >>= 1;10         }11         return res;12     }13 };

 

转载地址:http://glybm.baihongyu.com/

你可能感兴趣的文章
ASP.NET Core MVC之ViewComponents(视图组件)知多少?
查看>>
在天河二号上对比Julia,Python和R语言
查看>>
Docker容器学习梳理--私有仓库Registry使用
查看>>
arcgis地图服务之 identify 服务
查看>>
取汉子拼音首字母的C#方法
查看>>
C语言 · 求先序遍历
查看>>
java oracle thin 和 oci 连接方式实现多数据库的故障切换
查看>>
使用spring利用HandlerExceptionResolver实现全局异常捕获
查看>>
字符串 上
查看>>
jmeter设置全局变量
查看>>
MySQLi基于面向对象的编程
查看>>
CAAnimation 动画支撑系统
查看>>
读vue-0.6-text-parser.js源码
查看>>
对map进行排序
查看>>
IntelliJ IDEA 13.1.3 SVN无法正常使用问题
查看>>
Element link doesn't have required attribute property
查看>>
linux ctags
查看>>
RMAN备份(转)
查看>>
Oracle 12c 多租户 手工创建 pdb 与 手工删除 pdb
查看>>
FlexPaper:使用flash在线展示pdf
查看>>