1 题目理解 输入一个x,返回这个数据的平方根。如果平方跟不是整数,就只取整数部分。 例如x=4,返回2;x=8,返回2。 2 二分 套用模板,要找一个g(x)函数。g(m)=m*m>x,找这个函数的最小值。一个数的平方比x大,这样的最小值,减1,就是返回值。 class Solution { public int mySqrt(int x) { long l = 1, r = x/2+1; while(l<=r){ long m = l+((r-l)>>1); if(m*m>x){ r = m-1; }else{ l = m+1; } } return (int)(l-1); } }