首页 > 代码库 > Sqrt(x)
Sqrt(x)
Implement int sqrt(int x)
.
Compute and return the square root of x.
参考:http://standalone.iteye.com/blog/1847368
参考的是一个用二分查找实现的,这道题还可以用什么牛顿法之类的
如果middle * middle > x在左半部分查找,如果middle * middle < x在有半部分查找。初始状态low = 0, high = x
1 public class Solution { 2 public int sqrt(int x) { 3 double low = 0; 4 double precision = 0.000000001; 5 double high = x; 6 while((high - low ) >precision){ 7 double middle = (low + high) / 2; 8 if(x > middle * middle){ 9 low = middle;10 }11 if(x < middle * middle){12 high = middle;13 }14 if(x == middle * middle){15 return (int)Math.floor(middle);16 }17 }//while18 return (int)Math.floor(high);19 }20 }
Sqrt(x)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。