4.26 leetcode -26 sqrtx

来源:互联网 发布:如何更改数据库所有者 编辑:程序博客网 时间:2024/06/06 19:20
题目描述

Implementint sqrt(int x).

Compute and return the square root of x.


这个,2分法

class Solution {public:    int sqrt(int x) {        if( x == 1 || x == 0)            return x;        int left = 1;        int right = x;        int tmp;        for(;left <= right;)            {            tmp = (left+right)/2;            if(x/tmp == tmp)                break;            else if(x/tmp > tmp)                left = tmp + 1;            else                right = tmp - 1;        }        tmp = (left+right)/2;        return tmp;    }};
牛客大神用牛顿逼近法,贴一下
class Solution {public:    int sqrt(int x) {        long r = x;         while (r*r > x)        r = (r + x/r) / 2;         return r;    }};


原创粉丝点击