LeetCode 69. x 的平方根

题目描述

🔥 69. x 的平方根

image-20230305164335317

思路分析

二分查找

参考代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
func mySqrt(x int) int {
	if x == 0 || x == 1 {
		return x
	}
	left, right := 1, x
	res := 0
	for left <= right {
		mid := left + (right-left)/2
		if mid > x/mid {
			right = mid - 1
		} else {
			res = mid
			left = mid + 1
		}
	}
	return res
}

🍏 点击查看 Java 题解

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Solution {
    public int mySqrt(int x) {
        if (x == 0 || x == 1) {
            return x;
        }
        int left = 1, right = x;
        int res = 0;
        while (left <= right) {
            int mid = left + (right - left) / 2;
            if (mid > x / mid) {
                right = mid - 1;
            } else {
                res = mid;
                left = mid + 1;
            }
        }
        return res;
    }
}

相似题目

题目 难度 题解
Pow(x, n) Medium  
有效的完全平方数 Easy  
本文作者:
本文链接: https://hgnulb.github.io/blog/58773597
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处!