x的平方根(easy)

更好的阅读体验应该是:

  1. 审题-思考
  2. 答题
  3. 整理-归纳

一、题目

LeetCode:69.x 的平方根

计算并返回 x 的平方根,其中 x 是非负整数。

由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。

输入: 8
输出: 2
说明: 8 的平方根是 2.82842...,由于返回类型是整数,小数部分将被舍去。

二、二分法解题

二分查找是一种基于比较目标值和数组中间元素的教科书式算法。

  • 如果目标值等于中间元素,则找到目标值。
  • 如果目标值较小,继续在左侧搜索。
  • 如果目标值较大,则继续在右侧搜索。

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

分析模版

  • 我们的目标是找到平方最接近目标数字的值
  • 相对于基础模版,我们要知道的数字是逼近目标值的,即 mid * mid <= target,大家是否感觉这道题和上一题几乎一模一样~

Javasciprt 代码

var mySqrt = function(x) {// 确定条件,k方 <= xlet min = 1; // 左边界let max = x; // 右边界let temp = 0; // 存储结果值,因为它会逐渐逼近最终结果while (min <= max) {let mid = min + ((max - min) >> 1);if (mid * mid <= x) {// 这里mid * mid = x 时,我仍然移动了左边界,并且跳过的mid,不要怕// 它被保存在了temp中,知道返回它或被新的元素覆盖temp = mid;min = mid + 1; // 忽略左测区间} else {max = mid - 1; // 忽略右侧区间}}return temp;
};

三、写在最后

本文是二分查找-模版 I 的第三题,仅仅是修改与目标值之间的关系,我们一鼓作气拿下下一道题吧!

如果对你有所帮助不妨给本项目的github 点个 star,这是对我最大的鼓励~

关于我

  • 花名:余光
  • WX:j565017805
  • 沉迷 JS,水平有限,虚心学习中

其他沉淀

  • JavaScript 版 LeetCode 题解
  • 前端进阶笔记
  • CSDN

LeetCode题解:x的平方根相关推荐

  1. LeetCode题解目录

    最新更新于2020.11.27 前往LeetCode主页. 前往GitHub源码.(服务器原因,暂停同步.) 前往码云主页. 已解决 456/1878 - 简单353 中等 90 困难 13 2020 ...

  2. 900 多道 LeetCode 题解,这个 GitHub 项目值得 Star!

    转自 | 码农有道 大家好,我是小 G. 周末风和日丽,适合刷 LeetCode 今天给你们推荐个 GitHub 项目,里面收集了 900 多道 LeetCode 题解,并包含中英文两个版本,适合大多 ...

  3. PHP版Leetcode题解开始随缘更新

    2019独角兽企业重金招聘Python工程师标准>>> PHP版Leetcode题解 我叫skys215,是一名bug工程师. 我接触编程的时间比较早,但是因为我数学不好加上比较懒, ...

  4. [LeetCode 题解]: Binary Tree Preorder Traversal

    前言 [LeetCode 题解]系列传送门:  http://www.cnblogs.com/double-win/category/573499.html 1.题目描述 Given a binary ...

  5. LeetCode 题解汇总

    为什么80%的码农都做不了架构师?>>>    LeetCode 题解汇总 转载于:https://my.oschina.net/michao/blog/801863

  6. leetcode题解【持续更新】

    leetcode题解不断更新,以及nowcoder题解.一起加油! 完整请移步我的Github 转载于:https://juejin.im/post/5c8a73d8f265da2de80fa774

  7. 32位有符号整数_008. 字符串转换整数 (atoi) | Leetcode题解

    点击上方"蓝色字体",选择"设为星标" 每天复习一道面试题,轻松拿大厂Offer~ 题目描述: 请你来实现一个 atoi 函数,使其能将字符串转换成整数. 首先 ...

  8. leetcode题解132-分割回文串 II

    问题描述 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是回文. 返回符合要求的 最少分割次数 . 示例 1: 输入:s = "aab" 输出:1 解释:只需一次分割 ...

  9. leetcode题解131-分割回文串

    问题描述 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 .返回 s 所有可能的分割方案. 回文串 是正着读和反着读都一样的字符串. 示例 1: 输入:s = "aa ...

最新文章

  1. onethink封装arclist调用文章列表!
  2. c++ vector 赋值_C++中vector用法
  3. CLR Via CSharp读书笔记(29) - 混合线程同步构造
  4. 推荐3个C++系统项目!初级开发者必学!
  5. 【Android QR Code】开源项目:ZXing(一)导入项目
  6. mysql search yum_mysql安装-yum方式
  7. python安装pygame模块_windows下 python 如何安装pygame模块
  8. 远控免杀专题(19)-nps_payload免杀
  9. MySQL 引擎特性 · InnoDB Buffer Pool
  10. mysql查询很慢优化方法1
  11. 今天的不是陶渊明的 飞鸽传书
  12. textarea输入中文和数字换行解决方法
  13. ThinkPHP项目笔记之RBAC(权限)补充篇
  14. 全局拉普拉斯平滑之(1)Strucutre extraction from texture via relative total variation及稀疏矩阵求解
  15. oracle字符串转日期比较大小写,【varchar】oracle中比较日期大小日期定义的是varchar2类型的......
  16. 【RPC Dubbo】本地存根和本地伪装
  17. 计算机脚本模板,mv分镜头脚本范文mv的分镜头脚本格式.doc
  18. PAT 甲级 1158 Telefraud Detection
  19. S32DS封装静态库相关问题
  20. yolov3的训练(五)darknet的VOC测试集和训练集以及训练前准备

热门文章

  1. 有数字要生成条形码生成器_如何制作自己的“意外”数字生成器
  2. BurpSuite实战七之使用Burp Scanner
  3. 读《活在网络里 大升级时代的人类新进化》
  4. service mysqld restart与service mysql restart的区别
  5. SQL专项复习(使用GROUP BY, WITH AS)——习题篇02
  6. Codeforces Round #702 (Div. 3)A-G题解
  7. UCA-系统工程师学习-内容查找
  8. HTG评论Amped无线TAP-EX Wi-Fi扩展器:2.4Ghz频段的强大功能
  9. 预失真算法matlab实现,2013-全国研究生数学建模B题-seleh模型预失真MATLAB仿真代码...
  10. 双系统下Ubuntu20.04使用Pavucontrol无法连接pulseaudio解决办法