【发布时间】:2011-12-25 16:22:46
【问题描述】:
我有一组范围:
范围1 ---- (0-10)
范围2 ---- (15-25)
Range3 ---- (100-1000) 等等。我想只存储边界,因为存储大范围,这将是有效的。
现在我需要搜索一个数字,比如 14 。在这种情况下,14 不存在于任何范围中,而(例如数字)16 存在于其中一个范围中。
我需要一个函数
布尔搜索(范围,搜索值) { 如果搜索值出现在任何范围内 返回真; 别的 返回假; } 怎样才能做到最好?这是严格不重叠的,重要的标准是搜索必须是最有效的。
考虑到 C++ 中我们可以在哪里使用 map 或 vector,我问了一个类似的问题,但是如何在 C# 上最好地完成呢?
【问题讨论】: