double[] intervalPoint = {0, 0.2, 0.1, 0.3, 0.2, 0.3};
int intervalNum = intervalPoint.length/2;
Interval1D[] intervals = new Interval1D[intervalNum];
for(int i=0; i<intervals.length; i++){
intervals[i] = new Interval1D(intervalPoint[2*i], intervalPoint[2*i+1]);
}
for(int i=0; i<intervals.length; i++){
for(int j=i+1; j<intervals.length; j++){
if(isIntersection(intervals[0], intervals[j]))
System.out.println("(" + intervals[i] + ", " + intervals[j] + ")");
}
}
/**
* 判断区间a,b是否有交集
* @param a
* @param b
* @return
*/
public static boolean isIntersection(Interval1D a, Interval1D b){
if(a.contains(b.min()) || a.contains(b.max()))return true;
if(b.contains(a.min()) || b.contains(a.max()))return true;
return false;
}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。