Java 确定两个区间范围是否有交集

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
@Test
public void test01() {
 
     Double[] a = new Double[]{90D, Double.MAX_VALUE};
     Double[] b = new Double[]{10D, 90D};
     a = new Double[]{0D, 10D};
 
     boolean overlap = isIntervalOverlap(a, b);
     if (overlap) {
         System.out.println("相交");
     } else {
         System.out.println("不相交");
     }
 }
 
 private static boolean isIntervalOverlap(Double[] inrA, Double[] inrB) {
     if (inrA.length < 2 || inrB.length < 2) {
         throw new RuntimeException("区间范围必须包含两个值以上");
     }
     Arrays.sort(inrA);
     Arrays.sort(inrB);
 
     // (StartA <= EndB) and (EndA >= StartB)
     if (inrA[0] < inrB[inrB.length - 1] && inrA[inrA.length - 1] > inrB[0]) {
         return true;
     } else {
         return false;
     }
 }

 

posted @   锐洋智能  阅读(581)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 分享4款.NET开源、免费、实用的商城系统
· 解决跨域问题的这6种方案,真香!
· 5. Nginx 负载均衡配置案例(附有详细截图说明++)
· Windows 提权-UAC 绕过
点击右上角即可分享
微信分享提示