# Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
rentable_items = [
%w(x x x - - - x x x - - -), # item1
%w(- - - - - - - - - - - -), # item2
%w(x x x x x x x - - - - -), # item3
%w(x x x - - - - x x x x x) ]# item4
好的,鉴于数据结构(代表项目月份的租金槽),其中“x”代表不可出租,“-”代表可出租,我有以下问题。
当我收到从 4 月到 6 月期间的请求时,我希望按以下优先顺序获得结果:
items = rentable_items.ideal_utilization_for("2010/03/01", "2010/06/30")
items # [item1, item2, item4] #where item4 is the worst
这背后的想法是首先填补一个项目的空白,并尝试产生尽可能少的新空白。
我不需要完整的解决方案,而是建议哪些工具(库、gem、算法)可用于解决此类问题。示例将不胜感激。
[编辑:删除第二个例子,专注于真正的问题。]