思路:利用二分法,这样比暴力破解需要的时间复杂度低
private static int sqrt(int n) { int low = 0; int heigh = n; while (low <= heigh){ int mid = low + (heigh - low) / 2; int product = mid * mid; if (product > n){ heigh = mid - 1; }else { if(mid == n || (mid + 1) * (mid + 1) > n){ return mid; } low = mid + 1; } } return -1; }