leetcode 0069
说明
只是为了记录一下,不求多快,也不深究。
会简要描述思路,代码中不写注释。
如碰到不会做的用了别人代码会在博客中标出。
题目描述
思路
二分。
class Solution {
public int mySqrt(int x) {
long start = 0, end = 46340;
long mid = 0;
while (true) {
mid = (start + end) / 2;
long a = mid * mid;
long b = (mid + 1) * (mid + 1);
if (a <= x && b > x) {
break;
} else if (a > x) {
end = mid - 1;
} else {
start = mid + 1;
}
}
return (int)mid;
}
}