LintCode: x的平方根

来源:互联网 发布:final draft mac 编辑:程序博客网 时间:2024/04/27 13:22

实现 int sqrt(int x) 函数,计算并返回 x 的平方根。

样例

sqrt(3) = 1

sqrt(4) = 2

sqrt(5) = 2

sqrt(10) = 3

挑战

O(log(x))

class Solution {    /**     * @param x: An integer     * @return: The sqrt of x     */    public int sqrt(int x) {        // write your code here    int lower=1;          int higher=x;          int mid=(lower+higher)/2;                  while(true){        if(mid==0){            return 0;        }else if(mid==x/mid){              return mid;        }else if(mid<x/mid && (mid+1)>(x/(mid+1))){              return mid;          }else if(mid > x/mid){           higher=mid-1;        }else if(mid < x/mid){             lower=mid+1;        }           mid=(lower+higher)/2;          }      }}


0 0
原创粉丝点击