当前位置: 首页 > news >正文

都昌县建设局网站做网站的名字大全

都昌县建设局网站,做网站的名字大全,wordpress开发前台登录插件,wap是什么意思啊摘要 剑指 Offer 16. 数值的整数次方 本题的方法被称为快速幂算法#xff0c;有递归和迭代两个版本。这篇题解会从递归版本的开始讲起#xff0c;再逐步引出迭代的版本。当指数n为负数时#xff0c;我们可以计算 x^(-n)再取倒数得到结果#xff0c;因此我们只需要考虑n为…摘要 剑指 Offer 16. 数值的整数次方 本题的方法被称为快速幂算法有递归和迭代两个版本。这篇题解会从递归版本的开始讲起再逐步引出迭代的版本。当指数n为负数时我们可以计算 x^(-n)再取倒数得到结果因此我们只需要考虑n为自然数的情况。 一快速幂 递归 快速幂算法的本质是分治算法。举个例子如果我们要计算x^64我们可以按照: 的顺序从x开始每次直接把上一次的结果进行平方计算6次就可以得到 x^(64)的值而不需要对 x乘 63次x。再举一个例子如果我们要计算 x^77我们可以按照 的顺序在 x→x^2x2→x^4x19→x^38 这些步骤中我们直接把上一次的结果进行平方而在 x4→x^9x9→x19x38→x77这些步骤中把上一次的结果进行平方后还要额外乘一个 x。直接从左到右进行推导看上去很困难因为在每一步中我们不知道在将上一次的结果平方之后还需不需要额外乘 xx。但如果我们从右往左看分治的思想就十分明显了 当我们要计算 x^n时我们可以先递归地计算出 yx⌊n/2⌋其中⌊a⌋表示对a进行下取整根据递归计算的结果如果 n为偶数那么 x^ny^2如果n为奇数那么 x^ny^2×x递归的边界为n0任意数的0次方均为1。 由于每次递归都会使得指数减少一半因此递归的层数为 O(log⁡n)算法可以在很快的时间内得到结果。 class Solution {public double myPow(double x, int n) {long N n;return N 0 ? quickMul(x, N) : 1.0 / quickMul(x, -N);}public double quickMul(double x, long N) {if (N 0) {return 1.0;}double y quickMul(x, N / 2);return N % 2 0 ? y * y : y * y * x;} } 复杂度分析 时间复杂度O(log⁡n)即为递归的层数。空间复杂度O(log⁡n)即为递归的层数。这是由于递归的函数调用会使用栈空间。 二、快速幂 迭代 由于递归需要使用额外的栈空间我们试着将递归转写为迭代。在方法一中我们也提到过从左到右进行推导是不容易的因为我们不知道是否需要额外乘x。但我们不妨找一找规律看看哪些地方额外乘了x并且它们对答案产生了什么影响。 class Solution {public double myPow(double x, int n) {long N n;return N 0 ? quickMul(x, N) : 1.0 / quickMul(x, -N);}public double quickMul(double x, long N) {double ans 1.0;// 贡献的初始值为 xdouble x_contribute x;// 在对 N 进行二进制拆分的同时计算答案while (N 0) {if (N % 2 1) {// 如果 N 二进制表示的最低位为 1那么需要计入贡献ans * x_contribute;}// 将贡献不断地平方x_contribute * x_contribute;// 舍弃 N 二进制表示的最低位这样我们每次只要判断最低位即可N / 2;}return ans;} } 复杂度分析 时间复杂度O(log⁡n)即为对n进行二进制拆分的时间复杂度。 空间复杂度O(1)。 博文参考 《leetcode》
http://www.hkea.cn/news/14344332/

相关文章:

  • 辽宁省住房和城乡建设厅网站首页科技创业创新心得
  • 网站收费吗疏肝益阳胶囊有哪些功效与作用
  • 公司网站设计素材vi设计公司联系方式
  • 一般电商网站做集群推广网站企业
  • 网站建设需要的材料工地找工作哪个软件好
  • 青岛网站建设推广公司中国建筑协会证书查询
  • 南阳网站推广外包上海的网络推广公司
  • 微信公众号可以做微网站益阳市住房和建设局 网站
  • 手机网站跳转怎么做北京到安阳的火车票时刻表查询
  • 创办网站需要哪些步骤番禺网站开发费用
  • 阿里巴巴网站建设基本内容免费服务器安全软件
  • 齐齐哈尔企业网站排名优化潘多拉固件建设网站
  • 青岛网站建设电话设计网页的三大工具是什么
  • 中国数学外国人做视频网站建网站哪家好北京
  • 做网上购物网站南通网站建设项目
  • 建站用wordpress 起飞了聊城菜鸟网站建设公司
  • 在线转格式网站怎么做flash网站代码
  • 潍坊品牌网站建设公司营销型网站建设细节
  • 一般网站是怎么做的哪个网站银锭专业做银锭的
  • 北京网站建设公司价格蚌埠企业网站建设套餐
  • 在哪个网站申请建设资质商城类app开发价格
  • 网站的布局设计开发公司总工年终总结
  • 廊坊门户网站电商网站建设概念
  • 商务网站设计报告在网站上显示地图
  • 百度指数平台广东培训seo
  • 企业网站的首页网站内链优化的角度
  • 综合类网站怎么做微信朋友圈广告在哪里做
  • 厦门市网站建设wordpress微论坛主题
  • 锦州建设局网站虚拟邮箱注册网站
  • 湖南营销型企业网站开发手机网站建设动态