题解 | #求平方根#
求平方根
https://www.nowcoder.com/practice/09fbfb16140b40499951f55113f2166c
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param x int整型
* @return int整型
*/
int sqrt(int x) {
// write code here
if (x == 0) return 0;
int left = 1, right = x / 2 + 1;
while (left <= right) {
long long mid = left + (right - left) / 2;
long long sq = mid * mid;
if (sq == x) return mid;
if (sq < x) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return right;
}
};


