金典——判断直线相交

来源:互联网 发布:js正则匹配多个字符串 编辑:程序博客网 时间:2024/05/16 15:32

题目描述

给定直角坐标系上的两条直线,确定这两条直线会不会相交。

线段以斜率和截距的形式给出,即double s1,double s2,double y1,double y2,分别代表直线1和2的斜率(即s1,s2)和截距(即y1,y2),请返回一个bool,代表给定的两条直线是否相交。这里两直线重合也认为相交。

测试样例:
3.14,3.14,1,2

返回:false


思路:

平面上的直线,平行且不重合就没有公共点。
了解浮点表示法的限制。切记不要用==检查浮点数是否相等,而是应该检查两者差值是否小于某个极小值,例如1e-6。
import java.util.*;public class CrossLine {    public boolean checkCrossLine(double s1, double s2, double y1, double y2) {        // write code here        if(Math.abs(s1-s2)<1e-6&&(Math.abs(y1-y2)>1e-6))return false;return true;    }}


0 0