[LeetCode] Sqrt(x)

来源:互联网 发布:su建筑教学视频 淘宝 编辑:程序博客网 时间:2024/06/01 10:28

题目:

Implement int sqrt(int x).

Compute and return the square root of x.

题解:

一开始用的是牛顿迭代法,但时间会超时,很郁闷,看到网上有题解,因为输入时int,输出也是int,用二分法就可以解决了,很不错。

代码如下:


class Solution {public:    int sqrt(int x) {        long left = 0;long right = x;while (left<right){long mid = left + (right-left)/2;if (mid*mid<=x && (mid+1)*(mid+1)>x){return mid;}else if(mid*mid<x){ left = mid+1;}else{ right = mid-1;}}    }};


0 0
原创粉丝点击