实现 int sqrt(int x)
函数。
由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。
public int mySqrt(int x) { long left=0; long rigth=Integer.MAX_VALUE; while(left<rigth){ // 这种取中位数的方法又快又好,是我刚学会的,原因在下面这篇文章的评论区 // https://www.liwei.party/2019/06/17/leetcode-solution-new/search-insert-position/ // 注意:这里得用无符号右移动 long mid=(left+rigth+1)>>>1; long s=mid*mid; if(s>x){ rigth=mid-1; }else{ left=mid; } } return (int)left; }