首页 > 代码库 > leetcode 69 Sqrt(x) ---java

leetcode 69 Sqrt(x) ---java

Implement int sqrt(int x).

Compute and return the square root of x.

求一个数的平方根。

其实就是一个二分查找。

有两种查找方式

1、就是找到最大int值,然后从0到max,二分查找。

2、直接针对x,从0到x,二分查找。

public class Solution {    public int mySqrt(int x) {        int max = 46340;        int flag = max/2;        if( x >= max*max )            return max;        int start = 0,end = max;        while(true){            if( x >= flag*flag ){                if( x < (flag+1)*(flag+1) )                    return flag;                else{                    start = flag;                                    }            }else{                if( x >= (flag-1)*(flag-1))                    return flag-1;                else{                    end = flag;                }            }            flag = start+(end-start)/2;        }    }}

 

leetcode 69 Sqrt(x) ---java