您的位置:首页 > 汽车 > 新车 > 网页设计师用什么软件_今天刚刚发布的新闻_百度站内搜索_温州网站优化推广方案

网页设计师用什么软件_今天刚刚发布的新闻_百度站内搜索_温州网站优化推广方案

2025/4/15 5:41:50 来源:https://blog.csdn.net/Bonnie_1215/article/details/147150352  浏览:    关键词:网页设计师用什么软件_今天刚刚发布的新闻_百度站内搜索_温州网站优化推广方案
网页设计师用什么软件_今天刚刚发布的新闻_百度站内搜索_温州网站优化推广方案

1 题目地址

69. x 的平方根 - 力扣(LeetCode)69. x 的平方根 - 给你一个非负整数 x ,计算并返回 x 的 算术平方根 。由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。 示例 1:输入:x = 4输出:2示例 2:输入:x = 8输出:2解释:8 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。 提示: * 0 <= x <= 231 - 1https://leetcode.cn/problems/sqrtx/description/

2 题目说明

给你一个非负整数 x ,计算并返回 x 的 算术平方根 。

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

注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。

示例 1:

输入:x = 4
输出:2

示例 2:

输入:x = 8
输出:2
解释:8 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。

提示:

  • 0 <= x <= 231 - 1

3 解题思路

给定target值,计算出算术平方根;其次因为只保留整数部分就可以,所以能可以采用二分法,来找出这个数。
1、直觉上一个整数的平方根肯定不会超过它的一半,但是0和1除外(特殊处理)
2、算数平方根的范围肯定是在[1,target/2]
3、二分查找法:
        当middle^2>target,结果在左边,往左移,right=middle-1;
        当middle^2<target,结果在右边,往右移,left=middle+1;
        当middle^2=target,直接返回
        当不满足left<=right,跳出的时候表示right是最接近target的值

4 代码编写

4.1 二分查找

class Solution {public int mySqrt(int x) {if (x==0) {return 0;}if (x==1) {return 1;}int left = 1;int right = x / 2;while (left <= right) {int middle = (left + right) / 2;if ((long)middle * middle > x) { // 注意这块要加上(long)否则可能会因为溢出导致结果异常right = middle - 1; // 左移} else if ((long)middle * middle < x) {  // 注意这块要加上(long)否则可能会因为溢出导致结果异常left = middle + 1; // 右移} else {return middle; // 相等则直接返回}}return right;}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com