leetcode 69.x的平方根(Java 二分查找 easy)

Posted y1040511302

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 69.x的平方根(Java 二分查找 easy)相关的知识,希望对你有一定的参考价值。

https://leetcode-cn.com/problems/sqrtx/

实现int sqrt(int x)函数,给定一个数字,求sqrt(x)并且保留整数部分。

 

二分查找,令l=1,h=x,判断l<=h,当跳出循环时,即sqrt(x)不为整数时,return h,因为跳出循环时l>h,本题要求只保留整数部分,不四舍五入。

class Solution 
    public int mySqrt(int x) 
        if(x<=1) return x;
        int l=1,h=x;
        while(l<=h)
            int mid=l+(h-l)/2;
            int sqrt=x/mid;
            if(sqrt==mid)
                return mid;
            
            else if(sqrt<mid)
                h=mid-1;
            
            else
                l=mid+1;
            
        
        return h;
    

 

以上是关于leetcode 69.x的平方根(Java 二分查找 easy)的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 69 x的平方根[二分法] HERODING的LeetCode之路

LeetCode69. x 的平方根

LeetCode69. x 的平方根

69.x的平方根 ---二分查找

⭐算法入门⭐《二分枚举》简单07 —— LeetCode 69. x 的平方根

[LeetCode] 69. x 的平方根