题解 | #求平方根#
求平方根
https://www.nowcoder.com/practice/09fbfb16140b40499951f55113f2166c
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param x int整型
* @return int整型
*/
public int sqrt (int x) {
// write code here
long ret = 0;
int left = 1;
int right = x;
long num = 0;
for (;left <= right;){
ret = (left + right) / 2;
if ((ret*ret) < x){
if (((ret+1) * (ret+1)) > x){
break;
}
left = (int)ret + 1;
}else if ((ret*ret) > x){
if (((ret-1) * (ret-1)) < x){
ret--;
break;
}
right = (int)ret - 1;
}else if((ret*ret) == x){
break;
}
}
return (int)ret;
}
}
查看8道真题和解析
腾讯成长空间 5879人发布