Leetcode 69 x的平方根
这道题的标准答案应该是使用牛顿迭代法,但是现在不想看…所以记一下,这道题等空下来的时候要重新做。
我用了二分法的办法做;
class Solution {
public int mySqrt(int x) {
int left=0,right=46340;
while(left<right)
{
int mid=(left+right)/2;
if(mid*mid<x)
left=mid+1;
else if(mid*mid>x)
if((mid-1)*(mid-1)<=x) return mid-1;
else right=mid-1;
else return mid;
}
if(left*left>x) return left-1;
return left;
}
}