LeetCode 第69题:x 的平方根

2021-07-06  本文已影响0人  放开那个BUG

1、前言

题目描述

2、思路

使用二分查找的思路,查找 [0, x] 中 mid * mid <= x 的数,如果是的话,那么说明平方根藏在这个区间,先把 mid 赋值给 res 暂存下来;否则的话,right = mid - 1,缩小范围。

3、代码

class Solution {
    public int mySqrt(int x) {
        int left = 0, right = x, res = -1;
        while(left <= right){
            int mid = (right - left) / 2 + left;
            if((long) mid * mid <= x){
                res = mid;
                left = mid + 1;
            }else{
                right = mid - 1;
            }
        }

        return res;
    }
}
上一篇 下一篇

猜你喜欢

热点阅读