欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用二分法计算x 的平方根

程序员文章站 2022-07-05 17:11:46
...

一、题目

使用二分法计算x 的平方根

二、代码 

 注意:1.乘法溢出转换成除法计算

           2.最大的初始值设x /2

class Solution {
    public int mySqrt(int x) {
       if(x == 1){
           return 1;
       }
       int left = 1;
       int right = x / 2;
       while(left <= right){
           int mid = (left + right) / 2;
           //防止乘法溢出,转换为除法
           if(mid == x / mid){
               return mid;
           }else if( mid > x / mid){
               right = mid - 1;
           }else{
               left = mid + 1;
           }
       }

       return right;
    }
}

 

相关标签: 数学 算法