盒子
盒子
文章目录
  1. 阿里面试篇
    1. 1. 如何实现一个高效的单向链表逆序输出?
    2. 2. 已知 sqrt(2)约等于 1.414,要求不用数学库,求 sqrt(2)精确到小数点后10位。

阿里面试篇

阿里面试篇

1. 如何实现一个高效的单向链表逆序输出?

JAVA题解,详见栈实现链表反转

2. 已知 sqrt(2)约等于 1.414,要求不用数学库,求 sqrt(2)精确到小数点后10位。

1.已知sqrt(2)约等于1.414,则可以在区间(1.4,1.5)进行二分查找
2.当前后两次的差值<=0.0000000001,则可退出

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class Solution {
public double sqrt2() {
double low = 1.4, high = 1.5;
double quit = 0.0000000001;
double mid = (low + high) / 2;
while (high - low > quit) {
if (mid * mid > 2) {
high = mid;
} else {
low = mid;
}
mid = (low + high) / 2;
}
return mid;
}
}
支持一下
扫一扫,支持沈健
  • 微信扫一扫
  • 支付宝扫一扫