Leetcode69.Sqrt(x)

利用牛顿迭代法: x n = x n 1 f ( x n 1 ) f ( x n 1 ) x_n=x_{n-1}-\frac{f(x_{n-1})}{f'(x_{n-1})}
时间复杂度:O(logN)
C++代码:

class Solution {
public:
	int mySqrt(int x) {
		if (x < 1)
			return 0;
		double result = 1, record;
		do
		{
			record = result;
			result = (result + x / result) / 2;
		} while (abs(result - record) >= 1);
		return result;
	}
};

猜你喜欢

转载自blog.csdn.net/qq_42263831/article/details/82932242
今日推荐