- 主题:请教一个算法。
用不等式。
【 在 stub 的大作中提到: 】
: 很简单的二分查找
--
FROM 221.221.53.*
对于静态数组,可以,没问题。
动态的,随时增减的,就得用map。(红黑二叉树)
【 在 e729 的大作中提到: 】
: 排序后二分法查找,一劳永逸,不占用额外空间
:
--
FROM 221.221.53.*
先排序合并存到一个std::vector<int32_t>里,然后用std::lower_bound找,根据返回的index是双数还是单数判断是否在range里,index/2就是在第几个range里。
--
FROM 116.230.161.*
如果每个range都是独特的,不重复的,可以在构建range的时候做排序,查找的时候用二分。
【 在 speedboy2998 的大作中提到: 】
: struct Range
: {
: int32_t lower_bound;
: ...................
--
FROM 49.7.58.*