Sqrt(x)

作者: 小明今晚加班 | 来源:发表于2019-02-25 19:45 被阅读0次

题目描述
Implement int sqrt(int x).

Compute and return the square root of x, where x is guaranteed to be a non-negative integer.

Since the return type is an integer, the decimal digits are truncated and only the integer part of the result is returned.

Example 1:

Input: 4
Output: 2

Example 2:

Input: 8
Output: 2
Explanation: The square root of 8 is 2.82842..., and since
the decimal part is truncated, 2 is returned.

分析:实现开方这个方法,但是如果遇到开方不尽的情况,采取舍去小数点的操作。

我的Code如下:

class Solution {
    public int mySqrt(int x) {
        int n = 0;
        if (x == 0) {
            return n;
        }

        if (x == 1) {
            return 1;
        }

        for (int i = 1; i <= x / 2; i++) {
            if (i * i == x) {
                return i;
            }
            if (i * i < x && (i + 1) * (i + 1) > x) {
                return i;
            }
            //这里要考虑溢出的情况
            if(i * i < x && (i + 1) * (i + 1) < 0){
                return i;
            }
        }

        return n;
    }
}

相关文章

网友评论

      本文标题:Sqrt(x)

      本文链接:https://www.haomeiwen.com/subject/nlcnyqtx.html