arrays - 获取分块数组中项的组索引的算法

标签 arrays algorithm pseudocode

所以我有一个任意的项目数组:

array = [0,1,2,3,4];

当它被分块时,它看起来像:

array.chunk(2) =>  [[0,1],[2,3],[4]];

array.chunk(3) =>  [[0,1,2],[3,4]];

我想要的是一种根据组大小获取索引所在组的索引的算法。

例如,对array 中的每个元素运行该算法会产生:

array.chunkIndex( chunkSize = 2, index = n )

0 => 0
1 => 0
2 => 1
3 => 1
4 => 2

array.chunkIndex( chunkSize = 3, index = n )

0 => 0
1 => 0
2 => 0
3 => 1
4 => 1

因此在 chunkSize = 1 的索引上运行该算法将始终产生原始索引。

我该怎么做呢?需要明确的是,我不想对数组进行分块,只是确定它将在哪个组中,如果可能的话,没有循环也没有内置函数。

最佳答案

同样在伪代码中:

chunkIndex = index / chunkSize

这是简单的整数除法,这意味着您必须注意的唯一情况是返回 float /小数/实数的语言。对于这些情况,您将需要一个 floor 函数来查找结果的整数部分。您可能还希望处理负值。

关于arrays - 获取分块数组中项的组索引的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32193529/

相关文章:

javascript - 循环遍历包含 n 个项目的数组

javascript - 我如何对 jQuery 数组使用 lodash max?

.net - 如何使用 NpgSql 将字符串数组插入 Postgresql 列

java - 无法获得沙漏算法的精确结果

c - 生成站点地图的最有效算法?

php - 我可以使用什么机制来订购阵列?

java - 在 O(logn) 运行时间内遍历数组?

javascript - 循环所有 rgb 值

c# - sharepoint 中的调查结果

c - 为什么 TI-Basic 这么慢?