[Leetcode] Pow(x, n)
来源:互联网 发布:介绍软件的ppt 编辑:程序博客网 时间:2024/05/21 09:51
问题:实现 pow(x, n).
看起来很简单,直接递归实现,考虑n<0情况。
double pow(double x, int n) { if(n == 0) return 1.0; if(n<0) return 1.0/pow(x, -n); return x*pow(x, n-1);}虽然是 O(n)复杂度,但发现还是运行超时。于是寻求快速算法,发现x的2n次方等于x的n次方相乘,这样每步可以减少n次相乘,复杂度变为O(logn)。
double power(double x, int n){ if (n == 0) return 1; double v = power(x, n / 2); if (n % 2 == 0) return v * v; else return v * v * x;} double pow(double x, int n) { if (n < 0) return 1.0 / power(x, -n); else return power(x, n); }
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)
- [Golong]学习笔记(一) 基础知识
- cygwin安装GNU make
- SOAP webserivce 和 RESTful webservice 对比及区别
- 背景图片铺满屏幕-------Day85
- time.h
- [Leetcode] Pow(x, n)
- NYOJ 题目135取石子(二)(博弈)
- jquery选定当前元素
- The type 类名 is already defined
- Codeforces Prison Transfer
- Oracle Database 12c 安装全过程
- 遗失的乔布斯访谈
- Android FakeID(Google Bug 13678484) 漏洞详解
- dijkstra pascal