java 多个区间重叠算法,区间形成闭环的算法问题

系统界面有多个输入框 比如
1:>24
2: <5
3: 大于等于5 并且小于等于24

真实环境 可能不仅仅是三个区间 可能是更多区间 ,但是要求所有的区间是闭环的,并且区间是不能叠的

比如 如果上面三个区间 改为
1:>=24
2:小于等于5

3:大于等于5 并且小于等于24

改为这样的三个区间的话 就错了 因为等于5 和 等于24 有重叠了

同时用户输入的区间 还要形成一个闭环 比如 下面这三个就形成一个闭环
1:>24
2: 小于5
3: 大于等于5 并且小于等于24

如果改成
1:>24
2:<5
3:大于5 并且小于24
这样就不形成闭环了,因为没有包括 5 和 24 就提示用户输入错误。

现在求一个算法 来判断用户输入的多个区间 不能重叠,同时还要校验用户输入的区间是一个闭环?
有案例代码 最好

上一条少一个字“点”

重叠算法就是上面写的,对于形成闭环的,在上面一步的基础上再进行遍历判断就可以了,伪代码我就不写了,说下方法

把任一区间一个点和其它所有区的点进行比较,必须有相同数值的两个点且这两个区间点必须是互补,遍历所有点就可以了。
我所说的互补是这样的,如一个区间是>5,那么另一个区间点必须是<=5

二重for循环,用一个区间与其它所有区间进行比较是否重叠,如果有重叠结束

for(int i= 0; i < 区间总数;i++)
{

    for(int j = i+1; j < 区间总数;j++)
    {
        if(区间[i]非闭区间或者区间[j]非闭区间)
            retrun;
        if(区间[i]和区间[j]重叠)
            return;
    }

}

不好意思,看错一个需求。要求是所有区间连起来就是没有区间吧?

是的 是所有区间连起来 形成一个闭环 而不是单个区间

形成闭环这个也是一个复杂的算法 想了 快一天了 还没有想起来