首页 > 其他 > 详细

Leetcode 69 Sqrt(x)

时间:2015-02-25 08:01:20      阅读:290      评论:0      收藏:0      [点我收藏+]

Implement int sqrt(int x).

Compute and return the square root of x.

 

求平方根, 用的是二分法. 从 0 - x, 使用二分的思想啊~

为了防止overflow, 把low和up用long。然后return int类型就行了~

 

据说还有一种牛顿迭代法。。太数学了。。估计要是面试也说不明白。。。就不写了。。

 

 1 public int sqrt(int x) {
 2         long low = 0;
 3         long up = (long)x;
 4         while(low <= up){
 5             long mid = (low + up) / 2;
 6             if(mid * mid > x)
 7                 up = mid - 1;
 8             else if(mid * mid < x)
 9                 low = mid + 1;
10             else
11                 return (int)mid;
12         }
13         return (int)up;
14     }

 

Leetcode 69 Sqrt(x)

原文:http://www.cnblogs.com/sherry900105/p/4299120.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!