【问题标题】:How to adapt map in order to find the nearest smaller object?如何调整地图以找到最近的较小对象?
【发布时间】:2015-06-27 18:56:28
【问题描述】:

例如,如果我的地图是从整数到双精度并且包含:

  • 2 -> 3.4
  • 3 -> 87.3
  • 5 -> 0.0
  • 12 -> 43.4

当我搜索 4 时,我必须获得 87.3,因为 3 是地图中最近的较小键。当我搜索 11 时,我必须得到 0.0。

这可以通过平衡树来完成。但我不想实现平衡树,可能有办法直接使用 STL 做到这一点?

【问题讨论】:

    标签: c++ dictionary stl tree


    【解决方案1】:

    这可以通过std::map::lower_bound 完成。根据地图的确切状态,您可能需要减少迭代器(以获取实际更小的元素)。

    在任何情况下,总体复杂度都是对数的。

    【讨论】:

    • 非常感谢,下次我会仔细阅读文档。
    猜你喜欢
    • 1970-01-01
    • 2015-08-28
    • 2014-11-15
    • 1970-01-01
    • 2015-07-30
    • 1970-01-01
    • 2017-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多