Pow(x,n)--LeetCode
来源:互联网 发布:苹果手机上的编程软件 编辑:程序博客网 时间:2024/04/28 02:58
题目:
实现pow()
思路:使用二分法,不过这道题用递归来解比较容易理解,把x的n次方划分成两个x的n/2次方相乘,然后递归求解子问题,结束条件是n为0返回1。因为是对n进行二分,算法复杂度和上面方法一样,也是O(logn)。代码如下:
#include <iostream>#include <vector>using namespace std;double pow(double x, int n) { if (n == 0) return 1.0; double half = pow(x, n/2); if (n%2 == 0) { return half*half; } else if (n>0) { return half*half*x; } else { return half/x*half; } } int main() {cout<<pow(2,-2);return 0;}
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)
- LeetCode:Repeated DNA Sequences
- 进入eclipse后提示An internal error occurred during:"Android Library Update”
- iOS私有API 以及api与sdk的解释
- throw抛出的类型
- configtypegroup
- Pow(x,n)--LeetCode
- 辛星浅析Linux中的devfs、sysfs和udev
- node read note
- Xcode编译异常和警告汇总
- [NOI2001] 食物链题解
- Nginx支持pathinfo模式
- android NFC学习笔记(三)
- 面试题之_01(字符串包含)
- java json字符串转JSONObject和JSONArray以及取值