[LeetCode] Pow(x, n)
2013-01-27 22:43
567 查看
class Solution { public: double pow(double x, int n) { // Start typing your C/C++ solution below // DO NOT write int main() function if (n == 0) return 1; if (n == 1) return x; bool div = false; bool neg = false; if (n < 0) { div = true; n = -n; } if (x < 0) { neg = n % 2; x = -x; } double p = pow(x, n / 2); double ret = n % 2 ? p * p * x : p * p; if (div) ret = 1 / ret; if (neg) ret = -ret; return ret; } };
Small Case: 16ms
Large Case: 28ms
Time: O(lgn)
Space: O(1)
相关文章推荐
- 【Leetcode】Pow(x, n)
- LeetCode - Pow(x, n)
- [leetcode]Pow(x, n)
- LeetCode---(50)Pow(x, n)
- LeetCode Super Pow详解
- [leetcode]Pow(x, n)
- LeetCode(50) Pow(x,n)
- LeetCode: Pow(x, n) 解题报告
- LeetCode-50-Pow(x, n) 快速幂
- Leetcode (372) Super Pow
- LeetCode 之 Pow(x, n)(分治法)
- leetcode50 Pow(x, n)
- [LeetCode] Pow(x, n) 解题报告
- Leetcode|Pow(x,n)
- [leetcode] pow(x,n)
- Pow(x, n) -- leetcode
- Pow(x, n)--LeetCode
- [leetcode] Pow(x, n)
- leetcode || 50、Pow(x, n)
- [LeetCode]Pow(x,n)