LeetCode 69,x 的平方根

mac2024-11-15  7

题目描述:实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。

int mySqrt(int x) { if(x==0) return 0; else if(x<4) return 1; else{ int left = 2,right = x/2; long long mid = left+(right-left)/2;; while(mid*mid!=x&&left<mid){ if(mid*mid>x) right = mid; else left = mid; mid = left+(right-left)/2; } return mid; } }

采用二分法,注意边界条件,以及mid*mid会出现大数,需要long

执行用时 :4 ms, 在所有 cpp 提交中击败了88.60%的用户

内存消耗 :8.1 MB, 在所有 cpp 提交中击败了86.60%的用户

最新回复(0)