gpt4 book ai didi

algorithm - 继续整数数组的模式

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:22:00 26 4
gpt4 key购买 nike

给定一个或多个等长整数数组的集合,我希望预测最有可能的下一个数组。元素通常只会递增 1 或跳回零,但其他更改绝对是可能的。

示例 1:

[0, 0, 0]
[0, 0, 1]
[0, 0, 2]
I'd expect to get:
[0, 0, 3]

示例 2:

[2, 0, 0]
[4, 1, 0]
[6, 2, 0]
I'd expect to get:
[8, 3, 0]

示例 3:

[0, 0, 0]
[0, 0, 1]
[0, 0, 2]
[0, 1, 0]
[0, 1, 1]
[0, 1, 2]
I'd expect to get:
[0, 2, 0]

案例 1 和案例 2 很容易发现,但我很难弄清楚如何检测示例 3 中的模式。我需要用谷歌搜索什么样的关键字才能在这里取得进展?

编辑:对保罗的回应。尽管模式中的每个元素可能看起来像任何东西,但如果模式不是通过不断添加和循环重置为零以某种方式建立起来的,那么该模式已经非常荒谬以至于我的算法不再需要做好工作。所以我不关心复杂的多项式或 [+1, +1, +2, -5, +7] 加法规则。

最佳答案

所以如果我做对了,在给定的输入中你有

  • 常量(如例1,第1列)
  • 不断增加(如例1,第3列)
  • 周期性(示例 3 第 3 列)

我猜认为将两者中的任何一个或三个结合在一起都不会错(如示例3中,第2列是常数和常数加法的组合)。

首先,我们必须考虑到对于任何给定的输入,我们必须考虑到所有情况都可能发生在一列上。您可以通过使用不同的变量为这些情况中的任何一个创建一个对象,一个结构,或者甚至都不创建它们。

其次,您必须检查每一列。因此,虽然尚未完全检查该列,但我们会寻找多项内容:

  • 有常数吗? (两个连续的行具有相同的数字)。如果为真,我们会在变量中记住常量和最后一行。

  • 两个连续的数字有区别吗?如果是,那么我们有常数加法,我们在变量中记住它在加法中使用的常数以及加法发生的位置。注意力!我们必须记住,加法可以发生在 3 个常数之后。因此,如果我们有一个常量和常量加法,我们必须查看该常量在何处停止,以便我们可以在加法之后继续它。

  • 有循环吗?第一个数字是否等于来自同一列但任何其他行的任何其他数字?如果发生这种情况,我们只需要记住在多少次加法(AND/OR 常量)之后循环开始。这是最棘手的一个:我们可以有常量、常量加法和循环。但这也不难,因为之前我们有常数和常数加法。因此,一个循环就是这两个 self 重复。

这是使用您提供给我们的信息寻找简单模式的算法。我希望它有用。

关于algorithm - 继续整数数组的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32667883/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com