LeetCode 69 Sqrt(x)

来源:互联网 发布:数据库的安全防护措施 编辑:程序博客网 时间:2024/06/10 05:09

Implement int sqrt(int x).

Compute and return the square root of x.

牛顿迭代法:关于牛顿迭代法,详解http://blog.csdn.net/niuooniuoo/article/details/51787807

public int mySqrt(int x) {if (x == 0) return 0;double last = 0.0;double res = 1.0;while (res != last) {last = res;res = (res + x / res) / 2;}return (int) res;}

二分查找法

int sqrt(int x) {long i = 0, j = x / 2 + 1;while (i <= j) {long mid = (i + j) / 2;long sq = mid * mid;if (sq == x) return (int) mid;else if (sq < x) i = mid + 1;else j = mid - 1;}return (int) j;}


详解参考:http://www.cnblogs.com/AnnieKim/archive/2013/04/18/3028607.html

0 0