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)。
查看全文
相关阅读:
模块cv2的用法
调整弹出对话框在ASP.NET应用程序的大小
xaf 自定义登陆页
xaf 修改主页logo
显示一个列表视图图表
双击直接编辑状态
xaf 富文本框添加方法
用户 'NT AUTHORITYIUSR' 登录失败
C# 中的INotifyPropertyChanged
线程间操作无效: 从不是创建控件“txtreceive”的线程访问它。
原文地址:https://www.cnblogs.com/xiaobaizzz/p/12313937.html
最新文章
TCP/IP协议简单介绍
原生ajax、XMLHttpRequest和FetchAPI简单描述
小目标 | 4周学会用邮箱管理时间和工作流-分类邮件
本号讯 | 永不消失的协作“空间站”开课;微软推出微软云Azure文档网站
有个姑娘,愿意为你写诗为你歌唱为你想出冷段子!
聪明人,会将复杂的事情简单做
小目标 | 4周学会用邮箱管理时间和工作流
本号讯 | 第二届物联网大会暨人工智能论坛开放报名通道
想系统化快速学习人工智能?上Azure School就够了!
以后要进行数据收集,打开邮箱就行了 | formtalk入驻Office 应用商店
热门文章
职场,不等跟不上变化的人
小目标 | Power BI新人快速上手手册
TensorFlow入门
tf.placeholder函数说明
Batch Normalization
深度学习图像预处理的几个步骤
cv2.bilateralFilter 双边滤波
霍夫变换做直线检测
霍夫变换原理
opencv图像处理之gamma变换
Copyright © 2011-2022 走看看