第69题:x的平方根
一. 问题描述 实现 int sqrt(int x) 函数。 计算并返回 x 的平方根,其中 x 是非负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 示例 1: 输入: 4 输出: 2 示例 2: 输入: 8 输出: 2 说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。 二. 解题思路 本题主要采用二分查找来查找x的平方根m。这道题是比较简单的,但是要注意在进行二分查找时,对其初始值要有所限定,其最大值不能大于int类型的最大值2147483647。 步骤一:设置二分查找法的起点visit_first和终点visit_second。 步骤二:利用二分查找法进行查找(原理就不说了),其中最大值的限制条件要注意。 三. 执行结果 执行用时 :2 ms, 在所有 java 提交中击败了93.59%的用户 内存消耗 :33.7 MB, 在所有 java 提交中击败了75.11%的用户 四. Java代码 class Solution { public int mySqrt(int x) { int visit_first=0; int visit_second=((x)/2)+1; if(x>=Integer.MAX_VALUE||visit_second>Math.sqrt(2147483647)) { visit