- 主题:请教一个算法。
struct Range
{
int32_t lower_bound;
int32_T upper_bound;
}
现在有很多个这样的 range, std::vector<Range>,每个 Range 都是独特的,不会重复。
bool isNumberInRange(int32_t number)
{
// 判断给定的 NUMBER 是否在其中某个 range 内,然后返回这个 RANGE,
}
我现在就是循环遍历,,有更高效的算法吗?数量在5万个 RANGE 内。
--
FROM 218.76.62.*
没有排序过。
【 在 lipp 的大作中提到: 】
: 排序过的话就有高效算法。
: 随机排列就没有。
:
--
FROM 218.76.62.*
thanks
【 在 kaiwen24 的大作中提到: 】
: 盲猜一个:是IPv4地址库的查询逻辑
: 如果能改Range的数据结构话,试试下面这种思路
: [code=c]
: ...................
--
FROM 218.76.62.*