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

厦门功夫广告设计网站建设工作室网站设计的公司如何选

厦门功夫广告设计网站建设工作室,网站设计的公司如何选,黄冈网站推广软件免费下载,青岛金桥建设机械有限公司网站文章目录 写在前面Tag题目来源解题思路方法一:数学表达式方法二:二分法 其他语言python3 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并…

文章目录

  • 写在前面
  • Tag
  • 题目来源
  • 解题思路
    • 方法一:数学表达式
    • 方法二:二分法
  • 其他语言
    • python3
  • 写在最后

写在前面

本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更……

专栏内容以分析题目为主,并附带一些对于本题涉及到的数据结构等内容进行回顾与总结,文章结构大致如下,部分内容会有增删:

  • Tag:介绍本题牵涉到的知识点、数据结构;
  • 题目来源:贴上题目的链接,方便大家查找题目并完成练习;
  • 题目解读:复述题目(确保自己真的理解题目意思),并强调一些题目重点信息;
  • 解题思路:介绍一些解题思路,每种解题思路包括思路讲解、实现代码以及复杂度分析;
  • 知识回忆:针对今天介绍的题目中的重点内容、数据结构进行回顾总结。

Tag

【数学】


题目来源

69. x 的平方根


解题思路

有一种朴素的方法可以计算 x 的平方根,就是枚举 1 x \sqrt{x} x ,对一个个数的平方进行验证,时间复杂度为 O ( x ) O(\sqrt{x}) O(x ),这里我们就不介绍了。接下来介绍两种时间复杂度更优的方法:

  • 数学表达式;
  • 二分法。

方法一:数学表达式

x = x 1 2 = ( e l n x ) 1 2 = e 1 2 l n x \sqrt{x} = x^{\frac{1}{2}} = (e^{lnx})^{\frac{1}{2}}= e^{\frac{1}{2}lnx} x =x21=(elnx)21=e21lnx

根据以上公式我们就可以得到 x \sqrt{x} x 的值了。

需要注意的是由于计算机无法存储高精度的浮点值,而指数函数和对数函数的参数和返回值均为浮点数,因此运算过程中会存在误差。例如当 x=2147395600 时, e 1 2 l n x e^{\frac{1}{2}lnx} e21lnx 的计算结果与正确答案 46340 相差 1 0 − 11 10^{-11} 1011,这样对结果取整数部分时,会得到 46339 这个错误的结果。

因此在得到结果的整数部分 res 后,我们应当找出 resres+1 中哪一个是真正的答案。

实现代码

class Solution {
public:int mySqrt(int x) {if (x == 0) {return 0;}int res = exp(0.5 * log(x));return (long long)(res + 1) * (res + 1) <= x ? res + 1 :res;}
};

复杂度分析

时间复杂度: O ( 1 ) O(1) O(1)

空间复杂度: O ( 1 ) O(1) O(1)

方法二:二分法

我们可以二分枚举答案,从 0x 二分枚举,中点记为 mid,如果 mid * mid <= x,那么 mid 就是可能的答案:

  • 如果 mid * mid < = x,更新 l = mid + 1 并记录 res = mid
  • 如果 mid * mid > x,更新 r = mid - 1
  • 如此二分,直到 l > r
  • 最后返回 res

实现代码

class Solution {
public:int mySqrt(int x) {int l = 0, r = x, res;while (l <= r) {int mid = l + (r - l) / 2;if ((long long)mid * mid <= x) {res = mid;l = mid + 1;}else if ((long long)mid * mid > x){r = mid - 1;}}return res;}
};

复杂度分析

时间复杂度: O ( l o g x ) O(logx) O(logx)

空间复杂度: O ( 1 ) O(1) O(1)

其他语言

python3

这里展示的是二分查找的python3代码。

class Solution:def mySqrt(self, x: int) -> int:l, r, ans = 0, x, -1while l <= r:mid = (l + r) // 2if mid * mid <= x:ans = midl = mid + 1else:r = mid - 1return ans

写在最后

如果文章内容有任何错误或者您对文章有任何疑问,欢迎私信博主或者在评论区指出 💬💬💬。

如果大家有更优的时间、空间复杂度方法,欢迎评论区交流。

最后,感谢您的阅读,如果感到有所收获的话可以给博主点一个 👍 哦。


文章转载自:

http://5kQjVvJ1.pmbcr.cn
http://8XvK55Cw.pmbcr.cn
http://BEAVerN5.pmbcr.cn
http://ESlZRqQA.pmbcr.cn
http://uSNTXUWR.pmbcr.cn
http://fxAEQv1U.pmbcr.cn
http://6bW7gPOu.pmbcr.cn
http://7NwiEap9.pmbcr.cn
http://RNgFhiQP.pmbcr.cn
http://gKCdJAWf.pmbcr.cn
http://tBJzQXFZ.pmbcr.cn
http://kf0WSHFQ.pmbcr.cn
http://CgLeRduJ.pmbcr.cn
http://4hDN91Sm.pmbcr.cn
http://9Qwwh8sH.pmbcr.cn
http://yQQdjSsL.pmbcr.cn
http://ONnuvaf5.pmbcr.cn
http://npaxp5tr.pmbcr.cn
http://lHbXzehY.pmbcr.cn
http://iEvzFReS.pmbcr.cn
http://UNqbKnoJ.pmbcr.cn
http://94ZUjwKU.pmbcr.cn
http://yKTmtJb5.pmbcr.cn
http://EFK7IL5h.pmbcr.cn
http://fzgGwOYz.pmbcr.cn
http://GfyLMiFm.pmbcr.cn
http://t7ian5lz.pmbcr.cn
http://RV5O6qh6.pmbcr.cn
http://TPNGiozL.pmbcr.cn
http://SnE9d6rD.pmbcr.cn
http://www.dtcms.com/wzjs/758507.html

相关文章:

  • 服装店网站建设规划书网络广告有哪些
  • 沈阳做网站公司有哪些建设银行唐山分行网站
  • 企业网站模板源码有哪些什么是网络营销媒体
  • 网站开发人员结构温州网站优化价格
  • 成都全网营销型网站中山网站制作方案
  • 网站地域分站怎么做如何使用花生壳做网站
  • 做网站赚钱还是企业宣传片企业解决方案
  • photoshop设计一个精美的网站主页企业网站一年多少钱
  • 咸阳企业网站设计开发制作太原做网站设计
  • 如何快速建设推广网站什么是网站主题
  • 建企业网站哪个平台好阿里邮箱
  • 外贸soho自己建站小男孩与大人做的网站
  • 无锡网站建设方案服务网站如何申请微信支付
  • 深圳商城网站设计多少钱关于做网站的策划书
  • 网站模板带后台石嘴山网站关于两学一做
  • 用织梦网站后台发布文章为什么还需要审核网站深圳
  • 无需下载国外黄冈网站推广短期培训就业学校
  • 用python做的电商网站辽宁沈阳建设工程信息网站
  • 专业手机网站建设网站开发需要的编程软件有哪些
  • 做相册本哪个网站好用整合营销是什么
  • 网站建设中的板块名称专业网页制作软件能帮助用户组织和管理
  • 做网站怎么保证商品是正品wordpress 放弃
  • 教育网站建设解决方案ppt模板免费下载百度文库
  • 企业怎么做自己的网站杭州知名设计公司
  • 安徽旅游在线网站建设建设银行网站钓鱼
  • 网页制作与网站建设课程设计wordpress 商品页面
  • 做定制旅游最好的网站微信引流推广网站建设
  • 网站后台是怎么更新外国做足球数据网站
  • 做美食直播哪个网站好长沙搭建网络环境
  • 给公司做的东西放到私人网站上石家庄网站建设登录