LeetCode 69. x 的平方根:二分查找法实现自定义的函数:x 的平方根

题目描述

实现 int sqrt(int x) 函数。

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

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

示例 1:

输入: 4
输出: 2
示例 2:

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

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/sqrtx

解题思路

1.取右区间,保证left <= right 条件可以终结
2.Int类型计算sqare,上界的时候会溢出,需要转成Long来计算,但是Long的时候呢?
3.因为返回类型是整数,结果只保留整数的部分,小数部分将被舍去。所以,这里当 sqare <= x 的条件满足的时候,ans = mid,一直收敛到 left<=right 条件边界.

代码

class Solution {fun mySqrt(x: Int): Int {var left = 0var right = xvar ans = -1while(left<=right){// 取右区间,保证left <= right 条件可以终结val mid = left + (right - left)/2// Int类型计算sqare,上界的时候会溢出,需要转成Long来计算,但是Long的时候呢?val sqare: Long = mid.toLong() * mid.toLong()// 因为返回类型是整数,结果只保留整数的部分,小数部分将被舍去。所以,这里当 sqare <= x 的条件满足的时候,ans = mid,一直收敛到 left<=right 条件边界.if(sqare<=x){ans = midleft = mid + 1}else{right = mid - 1}}return ans}
}

Kotlin开发者社区

专注分享 Java、 Kotlin、Spring/Spring Boot、MySQL、redis、neo4j、NoSQL、Android、JavaScript、React、Node、函数式编程、编程思想、"高可用,高性能,高实时"大型分布式系统架构设计主题。


http://www.taodudu.cc/news/show-6495422.html

相关文章:

  • 输入二次函数系数求平方根
  • 平方根(sqrt)算法
  • 简单题-不用库函数,求解一个数字的平方根
  • 使用库函数sqrt求平方根 C语言入门
  • 【leetcode】第69题 x 的平方根 牛顿迭代法实现求平方根函数 C++
  • Docker的镜像和容器的区别
  • 什么是镜像?阿里云服务器镜像是什么?镜像怎么选?
  • 什么是Docker镜像?
  • 云服务器镜像是什么?
  • Docker入门笔记(七)——镜像
  • 未能成功加载扩展程序
  • C# 未能找到路径 “D:\...”的一部分
  • 虚拟机vmwareWokstation未能启动虚拟机
  • 【vs】未能完成操作。拒绝访问。
  • VS编译出错:未能找到类型,未能加载基类
  • c#未能加载基类System
  • 修复Visual Studio 2022 提示未能写入输出文件“*”,未能找到路径“*”的一部分错误
  • 虚拟机未能初始化监视器设备
  • 仍未解决。
  • CORS请求未能成功
  • Ubuntu的:有未能满足的依赖关系
  • UE4遇到了 “warning MSB3245: 未能解析此引用。未能找到程序集“Windows”。
  • 未能找到元数据文件
  • 反证法的应用
  • 反证法的逻辑
  • 反证法逻辑原理学习记录
  • 数理逻辑分析反证法
  • html5反证,如何理解反证法?
  • 证明技巧I——反证法
  • 小概率反证法

LeetCode 69. x 的平方根:二分查找法实现自定义的函数:x 的平方根相关推荐

  1. 二分查找法-floor和ceil函数实现(C++)

    描述 有时候我们用二分查找法找的不是一个元素而是一段区域.这时候我们就可以设计floor(地板)和ceil(天花板)函数,找到相应区域的起始位置和结束位置. 注意 当我们要找的元素target不在序列 ...

  2. LeetCode 69: Sqrt(x) 求根号x(牛顿迭代法和二分查找法)

    题目: Implement int sqrt(int x). Compute and return the square root of x. 分析:我们平常可能好少会自己去求解某个数的平方根,一般都 ...

  3. javascript数据结构与算法---检索算法(二分查找法、计算重复次数)

    javascript数据结构与算法---检索算法(二分查找法.计算重复次数) /*只需要查找元素是否存在数组,可以先将数组排序,再使用二分查找法*/ function qSort(arr){if (a ...

  4. 学习练习 java 二分查找法

    1 package com.hanqi; 2 3 import java.util.*; 4 5 public class Test5 { 6 7 public static void main(St ...

  5. Python 关于下标的运用技巧(二分查找法,冒泡、选择、插入、归并、快速排序算法)

    二分查找法(折半查找法)的递归实现 二分查找法(折半查找法):用于预排序列表的查找问题, 再次强调,二分查找法要配合排序使用,只有排好序,才能使用二分查找法 而且,待查找列表如果有重复值,只能查找到其 ...

  6. 二分查找法。Java泛型设计二分查找法。

    前言基础: 1.只能针对有序的数组进行查找. 2.时间复杂度为O(logn). 3.使用前可以先排序,然后再查找,广泛应用于当一大组数据需要频繁查找,于是我们先将其进行排序,然后再通过二分查找进行查找 ...

  7. 卷进大厂系列之LeetCode刷题笔记:二分查找(简单)

    LeetCode刷题笔记:二分查找(简单) 学算法,刷力扣,加油卷,进大厂! 题目描述 涉及算法 题目解答 学算法,刷力扣,加油卷,进大厂! 题目描述 力扣题目链接 给定一个 n 个元素有序的(升序) ...

  8. java二分查找法_java算法之二分查找法的实例详解

    java算法之二分查找法的实例详解 原理 假定查找范围为一个有序数组(如升序排列),要从中查找某一元素,如果该元素在此数组中,则返回其索引,否则返回-1.通过数组长度可取出中间位置元素的索引,将其值与 ...

  9. java 二分查找_计算机入门必备算法——二分查找法

    1.引言 笔者对于计算机的研究一直停滞不前,近期想对一些算法进行复习和进一步的研究,每天都会更新一个新的算法,算法有难有易,层层递进.不希望能学的有多么高深,只希望在一些最基本的算法上有编码的思路,或 ...

最新文章

  1. TorchFusion 是一个深度学习框架,主要用于 AI 系统加速研究和开发
  2. 列表逆向排列的几种实现形式
  3. miniGUI安装笔记(转)
  4. Leetcode 152.乘机最大子序列
  5. 第三节: EF调用普通SQL语句的两类封装(ExecuteSqlCommand和SqlQuery )
  6. oracle中创建游标,oracle 存储过程创建游标
  7. Halcon 学习总结——基于动态阈值法、GMM(高斯混合模型)、SVM(支持向量机)的网状物缺陷检测
  8. minishell的实现
  9. 利用词袋模型和TF-IDF实现Large Movie Review Dataset文本分类
  10. 20191006每日一句
  11. html 磁贴自动布局,也来“玩”Metro UI之磁贴(一)_html/css_WEB-ITnose
  12. 清华大学交叉信息研究院弋力老师课题组招收科研实习生
  13. docker搭建 JRebel 验证服务器 和 IDEA 验证服务器
  14. css获取第n个元素之后所有的元素
  15. RAP2 API管理工具部署手册
  16. 中专毕业生计算机简历模板,中专生简历模板
  17. 解决Typecho站点Sitemap插件不可用问题
  18. 一个诡异的问题的解决20211008
  19. android app全局字体,Android app全局字体设置
  20. 中国矿业大学计算机考研复试科目,中国矿业大学考研复试参考书目

热门文章

  1. 把局域网中服务器的IP地址转换为自己访问的域名
  2. 吉他弹唱精通——4321进行
  3. 丰炜vb0和两台变频器的modbus rtu通信程序 史上最好用的plc modbus rtu通讯程序, 通讯效果如视频,控制,反馈无延迟
  4. 【拓扑 字符串还原 + 线段树维护】奇洛金卡达(father)
  5. 鸿钧老祖 数据结构笔记01:编程面试过程中常见的10大算法(java)
  6. 什么是「区块链技术」、区块链又是什么?
  7. thinkph5 新增命令/添加命令command
  8. WIN7下ADS使用详解
  9. opencv 实现孔洞填充的两个解决方案 MATLAB--imfill功能(收集)
  10. 计算机网络安全稳定性,计算机网络安全的现状及防范措施