追梦少年888 2018-03-12 08:01 采纳率: 100%
浏览 3639
已采纳

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条回答 默认 最新

  • baidu_30233079 2018-03-12 08:49
    关注

    上一条少一个字“点”

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

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler