由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - double sqrt(double x)的代码谁能贴一下?
相关主题
如何计算sqrt请教一道单链表问题
Facebook 第一轮电面Leetcode Timeout
double sqrt(double x)的复杂度leetcode populating next pointer 2
问几个有关Binary tree的题到底怎么了?很多面试来的居然连reverse一个链表都写不来
一道linked list编程题谷歌电面回馈
题目: iterative binary tree post order traversal问一道FB 的电面题
reverse链表Leetcode书中missing range一题的答案是不是错的?
发个面试coding题,攒人品感觉今天结结实实被烙印阴了
相关话题的讨论汇总
话题: double话题: mid话题: low话题: curr话题: prev
进入JobHunting版参与讨论
1 (共1页)
z*********8
发帖数: 2070
1
谢谢!
i********y
发帖数: 153
2
public double sqrt(double x) {
double epsilon = 0.000001;
if (x < 0) {
throw new IllegalArgumentException();
}

double low = 0;
double high = x;
while (Math.abs(low-high) >epsilon) {
double mid = low + (high - low) / 2;
double divident = x / mid;
if (Math.abs(divident - mid) return mid;
} else if (divident < mid) {
high = mid;
} else {
low = mid;
}
}
return low;
}
z*********8
发帖数: 2070
3
这个x<1的时候不对吧?

【在 i********y 的大作中提到】
: public double sqrt(double x) {
: double epsilon = 0.000001;
: if (x < 0) {
: throw new IllegalArgumentException();
: }
:
: double low = 0;
: double high = x;
: while (Math.abs(low-high) >epsilon) {
: double mid = low + (high - low) / 2;

z*********8
发帖数: 2070
4
输入double.MaxValue 陷入死循环了。。。
s********u
发帖数: 1109
z*********8
发帖数: 2070
6
好多谢, 我去研读一下

【在 s********u 的大作中提到】
: https://code.google.com/p/elements-of-programming-interviews/source/browse/
: trunk/Square_root.cpp
: epi标准答案

n****e
发帖数: 678
7
double sqrt(double x) {
if (x == 0.0) {
return 0.0;
}
double curr = 1.0;
double prev = 0.0;
while (curr != prev) {
prev = curr;
curr = (x/prev + prev)/2;
}
return curr;
}
l*n
发帖数: 529
8
对double能直接!=,你这是要哪样啊!

【在 n****e 的大作中提到】
: double sqrt(double x) {
: if (x == 0.0) {
: return 0.0;
: }
: double curr = 1.0;
: double prev = 0.0;
: while (curr != prev) {
: prev = curr;
: curr = (x/prev + prev)/2;
: }

n****e
发帖数: 678
9
自己试着run了一下,没问题啊
请大牛指教一下,为什么不能直接!=

【在 l*n 的大作中提到】
: 对double能直接!=,你这是要哪样啊!
l*n
发帖数: 529
10
用double的进行equals/not equals比较可能让你进入死循环。run一下没问题不代表所
有都没问题。

【在 n****e 的大作中提到】
: 自己试着run了一下,没问题啊
: 请大牛指教一下,为什么不能直接!=

n****e
发帖数: 678
11
多谢你的回复啊!
我去研究一下epi的答案。

【在 l*n 的大作中提到】
: 用double的进行equals/not equals比较可能让你进入死循环。run一下没问题不代表所
: 有都没问题。

1 (共1页)
进入JobHunting版参与讨论
相关主题
感觉今天结结实实被烙印阴了一道linked list编程题
今天Google电面的一道题题目: iterative binary tree post order traversal
刷了半天题reverse链表
Reverse Linked list 用java实现发个面试coding题,攒人品
如何计算sqrt请教一道单链表问题
Facebook 第一轮电面Leetcode Timeout
double sqrt(double x)的复杂度leetcode populating next pointer 2
问几个有关Binary tree的题到底怎么了?很多面试来的居然连reverse一个链表都写不来
相关话题的讨论汇总
话题: double话题: mid话题: low话题: curr话题: prev