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

福建省建设信息网站wordpress 404跳转

福建省建设信息网站,wordpress 404跳转,玉环县企业网站建设,工程建设最好的网站可以使用二分查找法或牛顿迭代法来实现 LeetCode 问题 69. x 的平方根。下面是使用二分查找法和牛顿迭代法的 C 实现。 二分查找法 #include iostreamclass Solution { public:int mySqrt(int x) {if (x 0) return 0;int left 1, right x, ans 0;while (left 实现。 二分查找法 #include iostreamclass Solution { public:int mySqrt(int x) {if (x 0) return 0;int left 1, right x, ans 0;while (left right) {int mid left (right - left) / 2;if (mid x / mid) {ans mid;left mid 1;} else {right mid - 1;}}return ans;} };int main() {Solution solution;int x 8;std::cout The square root of x is solution.mySqrt(x) std::endl;return 0; }牛顿迭代法 #include iostreamclass Solution { public:int mySqrt(int x) {if (x 0) return 0;double x0 x;while (true) {double xi 0.5 * (x0 x / x0);if (abs(x0 - xi) 1e-7) break;x0 xi;}return static_castint(x0);} };int main() {Solution solution;int x 8;std::cout The square root of x is solution.mySqrt(x) std::endl;return 0; }解释 二分查找法 初始化定义 left 为 1right 为 x并初始化 ans 为 0。循环当 left 小于等于 right 时计算 mid 作为中间值。判断如果 mid 的平方小于等于 x说明 mid 可能是平方根的一部分更新 ans 为 mid并移动 left 到 mid 1。否则移动 right 到 mid - 1。返回循环结束后返回 ans。 牛顿迭代法 初始化定义 x0 为 x。迭代计算 xi它是 x0 和 x / x0 的平均值。如果 x0 和 xi 的差异小于一个很小的值如 1e-7则停止迭代。更新将 x0 更新为 xi。返回将 x0 转换为整数并返回。 这两种方法都能有效地计算 x 的平方根并且二分查找法的时间复杂度为 O(log x)牛顿迭代法的时间复杂度为 O(log x)。你可以根据需要选择其中一种方法。 当然使用图示和例子可以更直观地理解二分查找算法在计算平方根整数部分的过程。 例子计算 10 的平方根的整数部分 我们以计算 10 的平方根为例来展示整个过程。 步骤 1初始化 left 1right 10ans 0 步骤 2开始二分查找 第一次迭代 计算中点 mid left (right - left) / 2 1 (10 - 1) / 2 5检查 mid * mid 和 x 的关系5 * 5 2525 10因此更新 right 为 mid - 1即 right 4图示搜索区间: [1, 10] mid 5, 5*5 10, 更新right 4第二次迭代 计算中点 mid left (right - left) / 2 1 (4 - 1) / 2 2检查 mid * mid 和 x 的关系2 * 2 44 10因此更新 ans 为 mid并更新 left 为 mid 1即 left 3图示搜索区间: [1, 4] mid 2, 2*2 10, 更新left 3, ans 2第三次迭代 计算中点 mid left (right - left) / 2 3 (4 - 3) / 2 3检查 mid * mid 和 x 的关系3 * 3 99 10因此更新 ans 为 mid并更新 left 为 mid 1即 left 4图示搜索区间: [3, 4] mid 3, 3*3 10, 更新left 4, ans 3第四次迭代 计算中点 mid left (right - left) / 2 4 (4 - 4) / 2 4检查 mid * mid 和 x 的关系4 * 4 1616 10因此更新 right 为 mid - 1即 right 3图示搜索区间: [4, 4] mid 4, 4*4 10, 更新right 3结束循环 当 left right 时退出循环此时 ans 保存的就是最大的满足条件的整数。最终结果为 ans 3所以 10 的平方根的整数部分是 3。 代码对应的流程 初始化 left、right 和 ans在每次迭代中计算 mid 并比较 mid * mid 和 x 如果 mid * mid 小于等于 x则更新 ans 并右移 left如果 mid * mid 大于 x则左移 right 循环结束后返回 ans 图示 初始区间: [1, 10]第一次迭代: mid 5, 5*5 10, 更新right 4 搜索区间变为: [1, 4]第二次迭代: mid 2, 2*2 10, 更新left 3, ans 2 搜索区间变为: [3, 4]第三次迭代: mid 3, 3*3 10, 更新left 4, ans 3 搜索区间变为: [4, 4]第四次迭代: mid 4, 4*4 10, 更新right 3 搜索区间变为: [4, 3]循环结束返回 ans 3这样通过二分查找我们成功找到并返回了 10 的平方根的整数部分 3。
http://www.w-s-a.com/news/905259/

相关文章:

  • wordpress网站换空间南宁网站设计可以找我
  • 期货贵金属网站建设招远网站建设哪家专业
  • 上海网站排名个人网站可以做百度推广
  • 网站主题及样式优化个人网站 可以做论坛吗
  • 中企动力 网站推广一级域名免费申请
  • 山东专业的网站建设博罗做网站哪家强
  • 手机网站支持微信支付吗宝塔如何添加ip域名做网站
  • 什么专业学网站建设企业合同管理系统
  • 我要啦免费统计怎么做网站销售订单管理系统软件
  • 门户网站建设教程更改wordpress端口
  • 普兰店网站建设公司云计算培训
  • 网站建设的网络技术app下载平台哪个好
  • 中国建筑人才网是什么网站导购网站制作
  • 网站建设开票东莞龙岗网站建设
  • 17网站一起做网批最近湘潭的新闻
  • 专业网站设计专业服务网站news怎么做
  • 杭州租房网站建设设计网站架构
  • 安徽做网站公司哪家好建设网站需要什么内容
  • 哪些网络公司可以做机票预订网站网站新闻后台怎么做
  • 微网站 域名企业网站怎么做推广
  • 兴安盟住房和城乡建设部网站在国外做网站
  • 南雄市建设局网站搜索关键词的方法
  • 网站建设维护工作经验深圳定制展会
  • 新闻类网站备案WordPress评论昵称显示错误
  • 如何建立一个个人网站自己做一个购物网站
  • 吴忠网站建设公司中国建筑股份有限公司 官网
  • 深圳电商网站开发公司page list wordpress
  • 长安外贸网站建设顺德区网站设计建设企业
  • 临沂市建设局网站简介专业建设网站开发
  • 肇庆网站制作设计中国企业500强招聘