【2019.8.21】算法学习记录——x的平方根[未写完]

算法-x的平方根


实现 int sqrt(int x) 函数。
计算并返回 x 的平方根,其中 x 是 非负整数
由于返回类型是整数,结果 只保留整数的部分,小数部分将被舍去。

示例 1:

输入: 4
输出: 2

示例 2:

输入: 8
输出: 2
说明: 8 的平方根是 2.82842…由于返回类型是整数,小数部分将被舍去。

来源:力扣(LeetCode)

  • 思路一:
    最初的思路比较简单,以0作为基础,自己乘自己,每次加一来靠近。
class Solution {
    public int mySqrt(int x) {
        int base=0;
        boolean flag = false;
        while(flag==false){
            if(base*base == x){
                flag = true;
                return base;
            }
            if(base*base>x){
                flag = true;
                base = base-1;
                return base;
            }
            base+=1;
        }
        return base;            
        }
    }    

以上方法若是x的值过大,会提示超出时间限制,运算量过大,不适合。

  • 思路二:

笔记

发布了17 篇原创文章 · 获赞 0 · 访问量 345

猜你喜欢

转载自blog.csdn.net/cletitia/article/details/99825978