{ "type": "code_options", "author": "csdn.net", "source": "solution.md", "exercise_id": "1a3c7b78b2934efd89a842dfa71f79ff", "keywords": "数学,二分查找", "title": "x 的平方根", "desc": [ { "content": "\n

实现 int sqrt(int x) 函数。

\n

计算并返回 x 的平方根,其中 x 是非负整数。

\n

由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。

\n

示例 1:

\n
输入: 4
输出:
2
\n

示例 2:

\n
输入: 8
输出:
2
说明:
8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。
", "language": "markdown" } ], "answer": [ { "content": "", "language": "java" } ], "prepared": [ [ { "content": "", "language": "java" } ], [ { "content": "", "language": "java" } ], [ { "content": "", "language": "java" } ] ], "template": { "content": "class Solution {\n\tpublic int mySqrt(int x) {\n\t\tint left = 0, right = 46340;\n\t\twhile (left < right) {\n\t\t\tint mid = (left + right) / 2;\n\t\t\tif (mid * mid < x)\n\t\t\t\tleft = mid + 1;\n\t\t\telse if (mid * mid > x)\n\t\t\t\tif ((mid - 1) * (mid - 1) <= x)\n\t\t\t\t\treturn mid - 1;\n\t\t\t\telse\n\t\t\t\t\tright = mid - 1;\n\t\t\telse\n\t\t\t\treturn mid;\n\t\t}\n\t\tif (left * left > x)\n\t\t\treturn left - 1;\n\t\treturn left;\n\t}\n}\n", "language": "java" }, "node_id": "dailycode-cd10c107bc354eef83e1b81a46b78db5", "license": "csdn.net", "created_at": 1637894160, "topic_link": "https://bbs.csdn.net/topics/600470124" }