Leetcode69. x 的平方根(二分)
Posted !0 !
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode69. x 的平方根(二分)相关的知识,希望对你有一定的参考价值。
题目链接:https://leetcode-cn.com/problems/sqrtx/
解题思路
下边界为0,上边界为x,直接二分查找右边界,也就是满足 y 2 ≤ x y^2 \\leq x y2≤x,y的最大值
代码
class Solution {
public int mySqrt(int x) {
int l = 0, r = x;
while (l < r) {
int mid = (l + r + 1) >> 1;
if (mid <= x / mid)
l = mid;
else
r = mid - 1;
}
return l;
}
}
复杂度分析
- 时间复杂度:O(logn)
- 空间复杂度:O(1)
以上是关于Leetcode69. x 的平方根(二分)的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 69 x的平方根[二分法] HERODING的LeetCode之路