【LeetCode(Java) - 69】x 的平方根

    科技2025-09-03  19

    文章目录

    1、题目描述2、解题思路3、解题代码

    1、题目描述

    2、解题思路

      x 的平方根肯定在 [1, x] 区间内,题意只要求平方根的整数部分,因此可以采用二分查找的方式来求解。

      需要注意的一点就是更新 mid 的值时,建议采用 l + (r - l) / 2,而不是 (l + r) / 2,因为后者可能溢出。

    3、解题代码

    class Solution { public int mySqrt(int x) { int l = 0, r = x, ans = -1; while (l <= r) { int mid = l + (r - l) / 2; if ((long) mid * mid <= x) { ans = mid; l = mid + 1; } else { r = mid - 1; } } return ans; } }
    Processed: 0.025, SQL: 8