原题:69. Sqrt(x)
方法一
思路
二分法
要牢记二分法的模板:
1 | let left = 0; |
source code:
1 | // Runtime: 88 ms, faster than 35.63% of JavaScript online submissions for Sqrt(x). |
拓展
求sqart(x),要求精度为n
1 | // init variable |
方法二
思路
牛顿迭代法:
这道题中,f(xn) = xn ^ 2 - y
,f(xn)的导数 f'(xn) = 2 * xn
。
最终可得:x(n+1) = (xn + y/xn)/2
。
source code
1 | // Runtime: 64 ms, faster than 95.63% of JavaScript online submissions for Sqrt(x). |
test cases
1 | test("test1", () => { |