LeetCode50_Pow(x,n)
来源:互联网 发布:易语言验证码同步源码 编辑:程序博客网 时间:2024/06/15 00:45
Pow(x, n)
问题描述
Implement pow(x, n).
简单分析
这道题的问题描述十分简单,就是自己实现一下pow(x,n)这个函数。对于幂函数,循环乘法是最简单的做法,但是效率太低了,那么有什么简单的做法吗?
根据一个基本定理
n看成是以2为基的位构成的,因此每一位是对应x的一个幂数,然后迭代直到n到最高位。比如说第一位对应x,第二位对应x*x,第三位对应x^4,…,第k位对应x^(2^(k-1))。
代码
public double myPow(double x, int n) { long m = n > 0 ? n : -(long)n; double ans = 1.0; while (m != 0) { if ((m & 1) == 1) ans *= x; x *= x; m >>= 1; } return n >= 0 ? ans : 1 / ans;}
LeetCode学习笔记持续更新。
Github链接,https://github.com/yanqinghe/leetcode
阅读全文
0 0
- leetcode50_Pow(x, n)
- LeetCode50_Pow(x,n)
- Pow(x,n) x的n次方
- x^n+1~~~
- x的n次方
- LeetCode: Pow(x, n)
- LeetCode Pow(x,n)
- [Leetcode] Pow(x, n)
- LeetCode: Pow(x, n)
- Leetcode: Pow(x,n)
- leetcode power (x,n)
- [LeetCode] Pow(x, n)
- [Leetcode] Pow(x,n)
- Pow(x, n)
- 【leetcode】Pow(x, n)
- Pow(x, n)
- 求 pow(x, n)
- [LeetCode]Pow(x, n)
- Windows同时安装Python2、Python3兼容运行
- PL/SQL 学习分享(续)
- 用 LoadLibraryEx 失败
- python iter函数特殊用法
- 虚拟机VMware中Ubuntu编译安装lnmp时,如何复制windows中的内容,粘贴到Ubuntu中!
- LeetCode50_Pow(x,n)
- java 算法之冒泡排序
- Java---- 静态内部类与非静态内部类的区别
- 一个简单的HttpServlet
- Linux 防火墙开放端口ptables
- MapReduce2.0原理及基本架构
- 迅雷前端一面
- PS-ArrayList
- Linux 常用命令