假设,我有一个未排序的范围数组。例如
class CreditRange{
long credits;
int id;
}
现在我要查找,给定的信用计数值属于哪一个 CreditRange。
可能Set<CreditRange>
的值可以是
CreditRange :{id:1,credits:0}
CreditRange :{id:2,credits:100}
CreditRange :{id:3,credits:500}
CreditRange :{id:4,credits:250}
案例 1:现在当用户输入 Credits = 50 时,这个范围比较器应该给出答案
CreditRange :{id:1,credits:0}
案例 2:现在当用户输入 Credits = 300 时,这个范围比较器应该给出答案
CreditRange :{id:4,credits:250}
案例 3:现在当用户输入 Credits = 600 时,这个范围比较器应该给出答案
CreditRange :{id:3,credits:500}
我们可以假设范围数组需要大约 1M 并且适合内存。我正在寻找一种简单的算法,它只使用标准 JDK 集合,没有任何 3d 方库和特殊数据结构,但运行速度相当快。
你有什么建议?