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)。
查看全文
相关阅读:
sed
zabbix时间不同步
zabbix-agent安装
zabbix安装(网络)
sendmail启动报错
12306:被骂十年不吭声,终成大器
一文带你看清HTTP所有概念(转)
为什么 K8s 在阿里能成功(转)
一文解读融资方式
一文解读工业互联网 (转)
原文地址:https://www.cnblogs.com/xiaobaizzz/p/12313937.html
最新文章
做成像的你不能不了解的真相3-信噪比1
做成像的你不得不了解的真相2-灵敏度和QE
做成像的你不得不了解的真相1-对比度
如何选择你的科学相机?——真相系列大总结!
EMCCD
Docker版本变化和新版安装
NFS生产场景优化
Nginx服务安全设置和参数调优
Linux系统调优及安全设置
rpmdb: Thread/process 9180/139855524558592 failed: Thread died in Berkeley DB library
热门文章
操作审计配置详解
Window文本在Linux中出现的^M问题
Zabbix3.0 API调用
内核模块和内核参数
Web服务器处理动态程序三种方式及Apache配置
mongodb副本集优先级设置
MongoDB的角色作用(1)
MongoDB复制集原理
mysql.sock问题
查看系统运行跟启动时间
Copyright © 2011-2022 走看看