私は本「Crack the Coding Interview」からこの問題を抱えています。
デカルト平面上の 2 つの線が与えられた場合、2 つの線が交差するかどうかを判断します。
解決策は次のとおりです。
public class Line {
static double epsilon = 0.000001;
public double slope;
public double yintercept;
public Line(double s, double y) {
slope = s;
yintercept = y;
}
public boolean intersect(Line line2) {
return Math.abs(slope - line2.slope) > epsilon ||
Math.abs(yintercept - line2.yintercept) < epsilon;
}
}
勾配が同じでない場合、それらが交差するという単純な解決策がないのはなぜですか。イプシロンと y が交差する理由。
提案では、それは言う
傾きと y 切片が整数であると想定しないでください。浮動小数点表現の制限を理解する。との等価性を決してチェックしないでください
==
。