面试官问道。
目标是设计火车票预订系统。如果火车经过5个站(例如A,B,C,D,E)。我们可以出售A-E或A-B的门票,如果出售A-B的门票,我们可以在B-E之间继续卖票。
问题是哪种数据结构适合呈现席位?它应该显示哪个部分可供出售。
感谢您的帮助!
答案 0 :(得分:0)
老实说,“那位面试官的问题,至少就像你提出的一样,很少有感觉。”(也许面试官在你当时提供了更多细节)从此忘记了。)
但基本的想法应该是:“你需要代表什么事实?”好吧,在这种情况下,“事实”是user_X
上this_train
有一个ticket
去from_station
A,to_station
B ......其中“A”和“B”是枚举,这样您就可以轻松确定两个电台何时“重叠”。
然后,您可以继续定义预订系统必须能够应用的各种“明线规则”。例如:“有多少现有预订重叠某个止损范围?” (这将允许您确定是否会超过列车的座位容量。)