本文将讲述:69.X 的平方根(简单)
题目:给你一个非负整数,求其开方,向下取整
思路:
首先,我们把问题数学表示出来,就是:求 f(x) = x^2 - a = 0的解;
而且,题目要求的是 非负整数,所以 我们只需要考虑 x >= 0 的情况
我们可以注意到:f(0) <= 0 ; f(a) >=0
(好家伙,其实这又是一道数学题!)
所以,由零点定理
我们可以在 区间 [0,a] 上,找到我们想要的解了!
在区间上,首先想到的是二分法在区间查找~
class Solution {
// 想象成 f(x) = x^2 - a = 0 的解
// 非负整数 所以在 [0,a] 区间可以找到解
// 1.使用二分法
public:
int mySqrt