LeetCode-Easy刷题(15) Sqrt(x)

Posted 当以乐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode-Easy刷题(15) Sqrt(x)相关的知识,希望对你有一定的参考价值。

Implement int sqrt(int x).

Compute and return the square root of x.

x is guaranteed to be a non-negative integer.


Example 1:

Input: 4
Output: 2

Example 2:

Input: 8
Output: 2
Explanation: The square root of 8 is 2.82842..., and since we want to return an integer, the decimal part will be truncated

实现开平方这个方法,返回整数部分.
//这题应该用二分法来查找
    //二分法
    public static int mySqrt(int x) 

        if(x==0 || x ==1)
            return x;
        

        int left  = 0;
        int right = x;

        while(left<=right)

            int mid = (left + right)/2;

            if(x/mid==mid && x%mid==0)
                return mid;
            

            if(x/mid<mid)
                right = mid -1;
            else
                left = mid + 1;
            
        
        return right;
    


以上是关于LeetCode-Easy刷题(15) Sqrt(x)的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode-Easy刷题 Valid Parentheses

LeetCode-Easy刷题(31) Single Number

LeetCode-Easy刷题 Remove Element

LeetCode-Easy刷题(19) Same Tree

LeetCode-Easy刷题(33) Min Stack

LeetCode-Easy刷题(33) Min Stack