LeetCode OJ 50. Pow(x, n)
来源:互联网 发布:矩阵潜袭 基础 编辑:程序博客网 时间:2024/06/06 19:57
LeetCode OJ 50. Pow(x, n)
Description
Implement pow(x, n).
解题思路
最简单的思路是循环n次,做n次乘法,这样的复杂度是O(n)
。但是有一种更好的做法:根据对称性,我们可以把前后n/2
个x
的乘积看成一个整体,如果n
为奇数,则这两部分相乘后只要再乘一次x就是最终结果;否则直接为所求结果。这样一直递归下去,每一次缩小的是当前x集合的1/2
。所以时间复杂度为O(logn)
。
代码
个人github代码链接
class Solution {public: double myPow(double x, int n) { if(n == 0) return 1; double t = myPow(x,n / 2); if(n % 2) return n < 0 ? 1 / x * t * t : x * t * t; else return t * t; }};
0 0
- <LeetCode OJ> 50. Pow(x, n)
- LeetCode OJ 50. Pow(x, n)
- LeetCode OJ:Pow(x, n)
- [LeetCode OJ]Pow(x, n)
- LeetCode OJ Pow(x, n)
- [LeetCode]50.Pow(x, n)
- LeetCode --- 50. Pow(x, n)
- [Leetcode] 50. Pow(x, n)
- [leetcode] 50.Pow(x, n)
- LeetCode 50. Pow(x, n)
- 50. Pow(x, n) LeetCode
- [leetcode] 50. Pow(x, n)
- Leetcode 50. Pow(x, n)
- [LeetCode]50. Pow(x, n)
- LeetCode *** 50. Pow(x, n)
- LeetCode 50. Pow(x, n)
- LeetCode 50. Pow(x, n)
- 【LeetCode】50. Pow(x, n)
- .Net安装时发生严重错误
- Python学习笔记(七)--面向对象高级编程
- MongoDB 介绍
- Caffe学习系列(9):运行caffe自带的两个简单例子
- SQL语句FULL JOIN
- LeetCode OJ 50. Pow(x, n)
- MongoDB 优点
- Linux的mmap文件内存映射机制
- MongoDB 安装(Window/Linux)
- Hibernate 缓存介绍
- 分布式集群系统下的高可用session解决方案
- 基于redis分布式缓存实现(新浪微博案例)
- Redis 支持的5种数据结构
- Redis 5种数据结构使用及注意事项