语言:Java
解题方法:二分法
解题核心:
1. 不断得调整min&max;
2. 当max-min<=1时,min就是此时的解;(这个一般想不到)
代码实现
class Solution {
public int mySqrt(int x) {
if(x==1){
return x;
}
int min = 0;
int max = x;
while(max - min>1){ // 等于1的时候 就是min
int m = (max+min)/2;
if(x/m<m)
max = m;
else
min = m;
}
return min;
}
}
网友评论