首页 > 解决方案 > 更改的高性能固定数组范围

问题描述

这个问题有点难问,因为我不太确定我在问什么。我知道它“应该”如何在我的脑海中发挥作用。


问题:

我正在尝试创建一个使用固定大小数组的索引,以实现类似“范围”的查找。


例子:

给定一个长度为 的数组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]


我希望我已经把这个问题说清楚了。我实际上不确定这是否是实现我目标的最佳方式。我所知道的是我想要一个固定的数组大小,并且能够将“项目”索引到其中,这样我就可以将它用作一个范围。

我担心性能的主要原因是因为它应该能够处理数百个项目(甚至数千个)的数组。

类似的问题在这里:#1#2

标签: javascriptarraysindexingrangescale

解决方案


推荐阅读