javascript - 更改的高性能固定数组范围
问题描述
这个问题有点难问,因为我不太确定我在问什么。我知道它“应该”如何在我的脑海中发挥作用。
问题:
我正在尝试创建一个使用固定大小数组的索引,以实现类似“范围”的查找。
例子:
给定一个长度为 的数组10
,我们推入:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
一切顺利!它适合。
然而,给定一个长度为 的数组12
,我们将24
项目推入其中;
我们应该收到类似的东西:
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24]
让我们检查是否将数字添加13
到其中。
[2, 4, 6, 8, 10, 12, 13, 14, 16, 18, 20, 22, 24]
好吧,这里没什么可做的。13
介于有效范围之间..所以我们不添加它。
现在让我们将数字添加28
到其中。
[2, 4, 6, 8, 10, 12, 13, 14, 16, 18, 20, 22, 24, 28]
但现在我们有25
项目。我不确定这里应该发生什么,但我想我们想重新排列数组。理想情况下,我们希望cap
将数组设置为固定大小,但需要一种方法来创建一组新的范围。
如果我们有一个数组,这也应该反过来:
[4, 7, 10]
- 最大尺寸3
我们添加1
到它,我们需要创建一个新的范围。
[1, 3, 10]
我希望我已经把这个问题说清楚了。我实际上不确定这是否是实现我目标的最佳方式。我所知道的是我想要一个固定的数组大小,并且能够将“项目”索引到其中,这样我就可以将它用作一个范围。
我担心性能的主要原因是因为它应该能够处理数百个项目(甚至数千个)的数组。
解决方案
推荐阅读
- wagtail - 通过代码将 EmbedBlock 添加到 StreamField 的正确方法?
- java - 如何在 JAVA 中使用证书调用服务器 API
- c# - 在容器 1 中运行的 Docker 应用程序如何从容器 2 中读取文件,容器 2 是卷安装到主机的
- java - 我使用 PBEKeySpec 类对密码进行哈希处理,它可以工作,但有时不能
- pinterest - 如何获取 pinterest 广告客户所有者 ID
- coldfusion - 访问 cfmodule 属性的默认变量
- oracle - 需要从顶点的另一个表中填写日期字段
- java - 为什么在“Full GC(元数据GC阈值)”之前有一个“GC(元数据GC阈值)”?
- javascript - WebPack 没有将 PostCSS 中的字体或图像资源添加到构建中
- asp.net-mvc - ASP.NET MVC 应用程序:我想知道您是否可以在 ViewComponent 中检索当前用户?