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)。
查看全文
相关阅读:
mac安装浏览器同步测试工具
感觉自己不幸福怎么办?
React组件
常用的网页加载进度条
浅析百分百还原网站效果图的可行性分析
关于后台权限
第一阶段:Python开发基础 day04 Python基础语法入门--Python基本数据类型
第一阶段:Python开发基础 day03 Python基础语法入门--Python基础知识
第一阶段:Python开发基础 Python基础语法入门 day03 课后作业
第一阶段:Python开发基础 基础语法入门-- day02 编程语言分类
原文地址:https://www.cnblogs.com/xiaobaizzz/p/12313937.html
最新文章
15-浮动
14-块级元素和行内元素
12-简单认识下margin
13-标准文档流
11-border(边框)
10-padding(内边距)
常用服务部署
ansible usually
Choerodon 的微服务之路(二):Choerodon 的微服务网关
Pinpoint 监控
热门文章
zookeeper单机和奇数集群
APM技术原理
Centos7中 文件大小排序
Gitlab 维护措施
Navcat12 for mysq 激活工具
linux下创建公钥
接口测试基础之入门篇
如何写好测试用例
jQuery的$.fn使用
$.ajax() 获取不到return 返回值
Copyright © 2011-2022 走看看