69 x的平方

news/2024/11/28 14:34:17/

69. x 的平方根

实现 int sqrt(int x) 函数。

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

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

示例 1:

输入: 4
输出: 2

示例 2:

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

思路:有了之前对二分模板的理解,不难画出下图

在这里插入图片描述

要注意的几点:
  1. 尽管题目给出的xint类型,但是我们计算mid时需要l+r+1,故如果xInteger.MAX_VALUE则会出现越界,故我们定义l与r的时候选择long型。
  2. mid * mid <= x中,mid * mid也和1中一样,可能越界,故写成mid <= x / mid,至于x / mid会向下取整的问题,题目给出的结果也是要去除小数部分的,故无影响。
  3. 最终的结果需要转回int

Java代码

class Solution {public int mySqrt(int x) {long l = 0,r = x;//既然是求平方根,结果肯定在0~x里面while(l < r){long mid = (l + r + 1) / 2;if(mid <= x / mid) l = mid;else r = mid - 1;}return (int)l;}
}

在这里插入图片描述


http://www.ppmy.cn/news/215710.html

相关文章

VIVO Xplay_2.13.2 目前最新ViVo官方固件,完美root,降噪点,完美支持官方OTA升级,稳定,流畅,实用ROM

ROM版本 VIVO-Xplay-PD2.13.2 ROM作者 大盛 http://weibo.com/DaShengdd Android版本 Android4.2.2 创建日期 2013.07.31 ROM大小 722M MD5验证码 9CDC3B61D76369102D60A6C2E7B66A59 适用机型 步步高ViVo-Xplay-X510w ROM简介&#xff1a; 该版本ROM不同于…

vue的v-for循环普通数组、对象数组、对象、数字

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title></title><script src"vue.js"></script> </head> <body><!--容器--><div id"app">&l…

酷派Y60-C1官方ROM内容解析

酷派Y60-C1官方ROM大小接近1GB。为什么会这么大&#xff0c;来分析一下。 修改日期 修改时间 文件大小 文件名 文件用途 2014/7/1 9:54 1,353,216 8x10_msimage.mbn 平台镜像。所有8X10, 8X12平台通用该文件。然而Y60-C1烧录并没有用到 2014/10/28 20:32 7,634,944 boot.img 对…

vivox60pro和iqoo7pro哪个好

vivox60Pro&#xff1a;采用6.56英寸AMOLED屏幕&#xff0c;主屏分辨率2376x1080像素&#xff0c;屏幕刷新率120Hz iQOO7Pro&#xff1a;采用6.72英寸OLED屏幕&#xff0c;主屏分辨率2560x1600像素&#xff0c;屏幕刷新率120Hz vivo手机爆降800 优惠力度空前机会不容错过 https…

酷派Y60-C1刷官方ROM

参考酷派Y60-C1空片刷机教程_线刷Y60 C1变砖修复_木子教程 http://www.muzisoft.com/shuaji/178405.html 刷官方ROM未能成功。考虑给出的刷机工具 Huiye Download Tool 不好用&#xff0c;改用高通刷机工具刷机成功。 酷派Y60-C1&#xff1a;电信3G手机&#xff0c;使用高通MSM…

NumPy 数组的维度变换

reshape numpy.reshape 函数可以在不改变数据的条件下修改形状&#xff0c;格式如下&#xff1a; numpy.reshape(arr, newshape, order‘C’) arr&#xff1a;要修改形状的数组 newshape&#xff1a;整数或者整数数组&#xff0c;新的形状应当兼容原有形状 order&#xff1a;‘…

vivo Y66解账户锁刷机包 线刷包救砖教程

此刷机包用于救砖升级解锁 解决手机反复重启&#xff0c;不开机&#xff0c;包内附带刷机教程 Y66线刷刷机包下载 百度云下载https://pan.baidu.com/s/1Dlr-t1Q9DAB4n_eFgdiHzA 1、本资料为售后资料&#xff0c;可以修复系统引起的故障&#xff08;100%绝杀&#xff09; 2、手…

vivoy66升级Android+7.,vivo Y66i刷机教程_vivo Y66i卡刷升级更新官方系统包

下面是咱们的vivo Y66i手机的刷机操作了&#xff0c;这个刷机操作也是升级操作&#xff0c;只是叫法不同而已&#xff0c;针对的就是官方的固件rom包来操作的&#xff0c;因为有一些机友下载了固件包之后不知道如何刷入&#xff0c;很多机友是第一次接触官方的rom包的刷机操作&…