Implement int sqrt(int x)
.
Compute and return the square root of x.
小小的一道题竟然做了半天。。。= =
乘法啊加法啊reverse这些一定要考虑到越界的问题。
另外可以使用start + 1 < end的条件,这个时候一般跳出循环之后要判断一下边界值。
public class Solution { public int mySqrt(int x) { if (x == 0) { return 0; } int start = 1; int end = x; while (start + 1 < end) { int mid = (end - start) / 2 + start; if (mid < x / mid) { start = mid; } else if (mid == x / mid) { return mid; } else { end = mid; } } return start; } }
时间: 2024-10-12 20:51:44