java中如何判断两个数据区间重叠
时间: 2023-12-13 21:03:20 浏览: 42
在Java中,可以使用以下代码判断两个数据区间是否重叠:
```java
public static boolean overlap(int start1, int end1, int start2, int end2) {
if (start1 > end1 || start2 > end2) {
throw new IllegalArgumentException("Invalid input");
}
return Math.max(start1, start2) <= Math.min(end1, end2);
}
```
其中,start1和end1表示第一个数据区间的起始位置和终止位置,start2和end2表示第二个数据区间的起始位置和终止位置。该函数返回true表示两个数据区间重叠,返回false表示两个数据区间不重叠。
该函数的实现思路是,先判断输入是否合法。然后,比较两个数据区间的起始位置,取最大值作为重叠区间的起始位置;比较两个数据区间的终止位置,取最小值作为重叠区间的终止位置。如果重叠区间的起始位置小于等于终止位置,则说明两个数据区间重叠。
相关问题
guava中如何判断两个数据区间重叠
在Guava中,可以使用`Range`类来表示数据区间,并使用`Range`类提供的`isConnected`方法来判断两个数据区间是否重叠。
具体实现代码如下:
```java
public static boolean overlap(int start1, int end1, int start2, int end2) {
if (start1 > end1 || start2 > end2) {
throw new IllegalArgumentException("Invalid input");
}
Range<Integer> range1 = Range.closed(start1, end1);
Range<Integer> range2 = Range.closed(start2, end2);
return range1.isConnected(range2);
}
```
其中,start1和end1表示第一个数据区间的起始位置和终止位置,start2和end2表示第二个数据区间的起始位置和终止位置。该函数返回true表示两个数据区间重叠,返回false表示两个数据区间不重叠。
该函数的实现思路是,先判断输入是否合法。然后,使用`Range`类的`closed`方法创建两个数据区间的`Range`对象,再使用其中一个`Range`对象的`isConnected`方法判断两个`Range`对象是否相交,如果相交则说明两个数据区间重叠。
java 如何判断两个数字区间重叠
在Java中,判断两个数字区间是否重叠可以使用以下代码:
```java
public static boolean overlap(double start1, double end1, double start2, double end2) {
if (start1 > end1 || start2 > end2) {
throw new IllegalArgumentException("Invalid input");
}
return Math.max(start1, start2) <= Math.min(end1, end2);
}
```
其中,start1和end1表示第一个数字区间的起始位置和终止位置,start2和end2表示第二个数字区间的起始位置和终止位置。该函数返回true表示两个数字区间重叠,返回false表示两个数字区间不重叠。
该函数的实现思路和判断两个数据区间是否重叠的函数类似,先判断输入是否合法,然后比较两个数字区间的起始位置和终止位置,取最大值作为重叠区间的起始位置;取最小值作为重叠区间的终止位置,如果重叠区间的起始位置小于等于终止位置,则说明两个数字区间重叠。