zoukankan
html css js c++ java
leetcode 50.Pow(x, n)
思路:
众所周知,如果要求x的n次方,最朴素的方法一定是把x连乘n次,这样时间复杂度是O(n),显然太差了。
优化1:如果能求得2^k = n的话,x^n = x^(2^k) = (x^2)^k,只需要将x^2连乘k次,这样时间复杂度是O(log2n),但是很难找到这样的k。
优化2:只要能找到2^k1 + 2^k2 + ... = n就好了,这样时间复杂度还是O(log2n)。
这一想法可以通过位运算轻易解决,比如9的二进制是1001,也就是从右往左数第i位是1,答案就乘上x^(2^i)。
查看全文
相关阅读:
善用VS中的Code Snippet来提高开发效率
c#获取远程文件更新时间
图解VS2008单元测试及查看代码覆盖率
常用关于 JavaScript 中的跨域访问方法
Jquery中使用setInterval和setTimeout
外链图片也有风险吗?
设计模式学习总结抽象工厂模式(Abstract Factory Pattern)
斐波拉杰博弈 取石子(五)
后缀表达式 NYOJ 257
杭电 1085 Holding BinLaden Captive!
原文地址:https://www.cnblogs.com/xiaobaizzz/p/12313937.html
最新文章
Eclipse Upload CVS
SQL SERVER的数据类型
Linux常用命令
将数字转换为大写类型
根据父级编号获取无限树结构数据表中所有子节点的数据
web 国际化编码 ApplicationResources.properties
WebLogic清理缓存
如何在数据库中查询所有用户表的表名、主键名称、索引、外键
js 刷新父页面
探索 JAR 文件格式的强大功能
热门文章
sql server 语句日志
java中Long类型数据必须转化为int才能正确比较
Oracle 启动、停止、备份命令
css命名规则
很全的zencart 模板修改
partially deleted product(s) found! 导入产品时出现的错误提示
PHP常用正则表达式汇总
学习WPF的网站收藏
实现xml和xaml数据双向绑定的问题
设计模式学习总结建造者模式(Builder Pattern)
Copyright © 2011-2022 走看看