leetcode pow(x,n) (python)
2014-04-22 20:01
417 查看
原本感觉很简单,写出来之后时间复杂度太高了,上网查了一下,普遍应用的是二分法:
xn = xn/2 * xn/2 * xn%2
时间复杂度:O(logN)
代码很简单,思想很重要。
xn = xn/2 * xn/2 * xn%2
时间复杂度:O(logN)
代码很简单,思想很重要。
class Solution: # @param x, a float # @param n, a integer # @return a float def power(self,x,n): if n==0: return 1 half=n/2; res_temp=self.power(x,half) if n%2: return res_temp*res_temp*x else: return res_temp*res_temp def pow(self, x, n): if x==0: return 0 if n<0: return 1.0/self.power(x,-n) else: return self.power(x,n)
相关文章推荐
- python 数据结构
- python dictionary
- Dave Python 练习十四 -- 模块
- MinGW(GCC)和boost.python (续集)
- 从Python求素数到list与dict的比较
- 【python】import导入顺序(风格)
- 「2013-4-20」SciPy, Numerical Python, matplotlib, Enthought Canopy Express
- python生成和解析二维码
- Python基础-类的探讨(class)
- Python: Sort a dictionary by value
- Python - 类(class)的变量 和 对象(object)的变量 详解 及 代码
- Python中函数式编程
- python 获得github代码库列表
- python字符串连接方式汇总
- python的学习---- ftplib模块 .
- python多线程的简单使用
- Python-OpenCV人脸检测(代码)
- python包管理工具总结
- python实现一次创建多级目录的方法
- Python实现将绝对URL替换成相对URL的方法