题目描述
解题思路
- 我们规定在1-10000的长度中查找x的平方根
- 左指针为0,右指针为10000
- 找到mid*mid<=x的数,然后记录ans,丢弃另一部分
- 返回ans
代码实现
class Solution {
public:
int mySqrt(int x) {
long long l=0,r=1000000;
long long ans=0;
while(l<=r){
long long mid=(l+r)/2;
if(mid*mid<=x){
ans=mid;
l=mid+1;
}else{
r=mid-1;
}
}
return (int)ans;
}
};