Pow(x, n) - Leetcode
来源:互联网 发布:网络优化是做什么的 编辑:程序博客网 时间:2024/05/21 16:58
Implement pow(x, n).
-----------
实现X^n,用课本的语言说就是分治法X^n = X^(n/2)*X^(n/2)*X^(n%2);
当n为偶数时,X^n = X^(n/2)*X^(n/2) ,【n%2 ==0】;
当n为奇数时,X^n = X^(n/2)*X^(n/2)*X,【n%2 ==1】
考虑一下n为负数的情况。
--------------
时间复杂度O(logn),空间复杂度O(1)
public class Solution { public double pow(double x, int n) { if(n<0) return 1.0/powHelper(x, -n); return powHelper(x,n); } public double powHelper(double x, int n){ if(n==0) return 1.0; double db=powHelper(x,n/2); if(n%2 == 0) return db*db; return db*db*x; }}
0 0
- LeetCode: Pow(x, n)
- LeetCode Pow(x,n)
- [Leetcode] Pow(x, n)
- LeetCode: Pow(x, n)
- Leetcode: Pow(x,n)
- [LeetCode] Pow(x, n)
- [Leetcode] Pow(x,n)
- 【leetcode】Pow(x, n)
- [LeetCode]Pow(x, n)
- [leetcode]Pow(x, n)
- LeetCode-Pow(x, n)
- LeetCode - Pow(x, n)
- LeetCode | Pow(x, n)
- Pow(x, n) -leetcode
- 【leetcode】Pow(x, n)
- 【Leetcode】Pow(x, n)
- LeetCode Pow(x, n)
- Leetcode: Pow(x, n)
- PHP防SQL注入不要再用addslashes和mysql_real_escape_string了
- OC基础学习重要小知识点总结
- MAVEN ERROR maven-resources-plugin
- expect小结
- JDK SDK
- Pow(x, n) - Leetcode
- JDK SDK
- npm 安装参数中的 --save-dev
- jquery的each函数中的break和continue功能
- jQuery requires a window with a document
- Let's start from here
- ExpressJS - throw er Unhandled error event
- 2015弱校连萌寒假专题一(热身) 题解(A-J)
- 记录nodejs中async的几个接口用法