【发布时间】:2019-04-20 03:27:14
【问题描述】:
示例对象:
{
"start": "1.06",
"end": "2.33",
"content": "something"
},
{
"start": "2.99",
"end": "3.54",
"content": "something else"
}
我想创建一个高效的哈希映射,我可以在其中随时输入并获取内容。例如,我输入2.01 并得到something,因为那发生在那个时间范围内。
除了为范围内的每个数字创建哈希之外,最好的方法是什么?
【问题讨论】:
-
效率最高?一切都取决于它的使用方式。
-
如果已排序,可能是某种快速排序的实现,将值与开始和结束进行比较。
-
你的数据可以有重叠的时期吗?
-
澄清@trincot,不,时间范围将始终按连续递增的顺序排列,而不是重叠
-
然后二分查找就可以了。
标签: javascript dictionary time hash