您的位置:首页 > 编程语言 > C#

【LeetCode】C# 69、Sqrt(x)

2017-10-15 15:22 465 查看
Implement int sqrt(int x).

Compute and return the square root of x.

求平方根。

思路是二分法。通过x/mid>mid? 来判断取左半部分还是右半部分。

public class Solution {
public int MySqrt(int x) {
if (x == 0)
return 0;
int left = 1, right = int.MaxValue;
while (true) {
int mid = left + (right - left)/2;
if (mid > x/mid) {
right = mid - 1;
}
else {
if (mid + 1 > x/(mid + 1))
return mid;
left = mid + 1;
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode c#