【每日一题】2021年12月11日-69. Sqrt(x)/x的平方根

2023-02-14,,,

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

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

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

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/sqrtx
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

方法:二分查找

class Solution {
public int mySqrt(int x) {
if(x == 1) {
return 1;
}
int min = 0;
int max = x;
//循环条件,二者必须相差1☆
while(max > min + 1) {
//mid的值不是min + (max + min) / 2;而是一加一减
//int mid = (max + min) / 2;
int mid = min + ((max - min) >> 1);//必须加括号☆
if(x / mid < mid) {
//不是自增自减☆
max = mid;
} else {
min = mid;
}
}
return min;
}
}

  

每日一题】2021年12月11日-69. Sqrt(x)/x的平方根的相关教程结束。

《【每日一题】2021年12月11日-69. Sqrt(x)/x的平方根.doc》

下载本文的Word格式文档,以方便收藏与打印。