arrays - 如何通过跳过一些数字将数字插入到循环数组中?

标签 arrays algorithm

密码中使用的 key 使用动态循环数组进行初始化,其大小会自动调整为数组中当前存在的值的数量。密码的输入是流的形式。 在添加前面的值后跳过数组中的 x 个位置后添加每个值,如下所示。

Example: If a circular array 1234382 is given with skip value x is 2, and 8 was just added, the next value 9, will be added as follows 19234382 (Elements 2 and 1 are skipped).

示例输入-

1
5
1
2
3
4
5

示例输出 -

1

解释-

  • 添加第一个值 1。
  • 下一个要添加的值是 2,这是在跳过 1 个值后添加的,即 1,结果是 12。
  • 然后在跳过 1(2 的一个值)后添加 3,结果是 132。
  • 在跳过 2(3 中的一个值)后添加 4,得到 1324。
  • 然后在跳过 1(4 中的一个值)后添加 5,结果为 15324(在 1 之后添加 5)

最佳答案

这里有一个提示:对于示例中的每次迭代,在插入第一个元素后,记下数组的当前长度和下一次插入所在的(从零开始)索引。想想如何使用模运算符。

(ideone.com/Qyk472 上的代码似乎与示例匹配。)

关于arrays - 如何通过跳过一些数字将数字插入到循环数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57024813/

相关文章:

javascript - 将元素“插入”嵌套数组中的子数组

arrays - Excel如何返回满足一定条件的数组?

algorithm - 使用 Cramer 检测两条线段是否相交

java - Ford-Fulkerson 不规则性(多个顶点与回流)

javascript - `Array.from({length: 5}, (v, i) => i)` 是如何工作的?

c# - 它是锯齿状的数组声明吗?

php - 合并两个数组后出现 Unicode 错误

algorithm - 搜索大量潜在解决方案

algorithm - 寻找变密度三角剖分的非结构化网格生成算法

java - 将 3x3 井字游戏转换为 5x5 井字游戏