我有Data.Time.Calendar.Day
键入的数据,需要高效查找。有些日期丢失,当我尝试通过缺少的密钥查找时,我希望将数据附加到最近的现有密钥,有点像std::map::lower_bound。
对可以执行此操作的现有库有何建议?我搜索了一会儿,只找到支持精确密钥查找的地图。
感谢。
答案 0 :(得分:5)
您检查过Data.Map.Lazy
了吗?特别是,我猜您可以使用函数lookupLE
和lookupGT
或类似函数。这些函数的复杂性是 O (log n ),Data.Map.Strict
中存在类似的函数。
答案 1 :(得分:2)
Data.Map
的{{3}}和splitLookup
/ findMin
的合适组合将起到作用。