69. Sqrt(x)

来源:互联网 发布:excel怎样数据保护 编辑:程序博客网 时间:2024/06/05 02:09
Descr
class Solution {public:    int mySqrt(int x) {        if(x==0)return 0;int mid;int start=1,end=min(x/2,46340);while(start<end){mid=(start+end)/2;if(x/mid>=mid x/(mid+1)<mid+1)return mid;if(x/mid < mid)end = mid;if(x/(mid+1)>=mid+1)start=mid+1;}return start;    }};

iptionHintsSubmissionsDiscussSolution
DiscussPick One

Implement int sqrt(int x).

Compute and return the square root of x.


Seen this question in a real interview before?   
Yes
 
计算并返回x的平方根
使用for循环当然可以,但是二分法可以快速的解决
代码:
class Solution {public:    int mySqrt(int x) {        if(x==0)return 0;int mid;int start=1,end=min(x/2,46340);while(start<end){mid=(start+end)/2;if(x/mid>=mid x/(mid+1)<mid+1)return mid;if(x/mid < mid)end = mid;if(x/(mid+1)>=mid+1)start=mid+1;}return start;    }};