LeetCode 69. Sqrt(x)
2014-07-12 07:17
357 查看
解法一:二分
注意到参数及返回值为int, 我们需要用long long保存中间结果,防止int*int的溢出。
代码:
class Solution
{
public:
int sqrt(int x)
{
long long l=1, r=x, mid=x;
while (l <= r)
{
mid = (l+r) >> 1;
if (mid*mid == x)
{
return mid;
} else if (mid*mid < x)
{
l = mid + 1;
} else
{
r = mid - 1;
}
}
return mid*mid>x? mid-1:mid;
}
};
解法二:牛顿迭代
注意到参数及返回值为int, 我们需要用long long保存中间结果,防止int*int的溢出。
代码:
class Solution
{
public:
int sqrt(int x)
{
long long l=1, r=x, mid=x;
while (l <= r)
{
mid = (l+r) >> 1;
if (mid*mid == x)
{
return mid;
} else if (mid*mid < x)
{
l = mid + 1;
} else
{
r = mid - 1;
}
}
return mid*mid>x? mid-1:mid;
}
};
解法二:牛顿迭代
相关文章推荐
- 2017.10.19 LeetCode 二分 -> 69. Sqrt(x) -> 410. Split Array Largest Sum
- leetcode 69. Sqrt(x)
- [leetcode] 69. Sqrt(x) 解题报告
- leetcode --69. Sqrt(x)
- LeetCode 69. Sqrt(x)
- [leetcode 69] Sqrt(x)
- [LeetCode] 69. Sqrt(x) 求平方根
- LeetCode 69 Sqrt(x)
- leetcode69 Sqrt(x)
- LeetCode---69. Sqrt(x)---Python实现
- leetCode 69.Sqrt(x) (平方根) 解题思路和方法
- [LeetCode]69 Sqrt(x)
- LeetCode 69. Sqrt(x)
- LeetCode | 69. Sqrt(x)
- [leetcode]: 69. Sqrt(x)
- LeetCode-69 Sqrt(x)
- 【LeetCode】69. Sqrt(x)
- leetcode: 69. Sqrt(x)
- LeetCode 第 69 题 (Sqrt(x))
- 【LeetCode 69】Sqrt(x) (Python)