要解决的问题
300套单间宿舍,300套标间(两人间)宿舍(标间可作为单人间用),某个团队过来培训,就需要安排宿舍给其住一段时间。现需要统计某个时间段(T1-T2)内可用的宿舍情况,需要考虑到时间段重叠问题,怎么样设计数据库跟算法比较好呢?
目前思路
数据库设计: 登记表(团队名,标间数,单间数,开始时间,结束时间)
通过统计(T1-T2)时间段内每一天的可入住的房间数,保存到数组中,后面求数组最小值作为该时间段可安排的房间数。
其中求每一天可入住的房间就需要查满足(开始时间<所查时间<结束时间)的记录,得到记录后可得每一天相应的所用房间数,可得每一天的可用宿舍数。
可否有更加高效,简单的可行方案,求交流?