java - 相邻邻居求和

标签 java algorithm algebra

<分区>

如果我得到数字 [1,2,1] 并且我想找到每个数字及其相邻邻居(在一个环中)重复多次的总和。我可以使用以下公式:

base case: [x=1, y=2, z=1]
repeat 7 times.
staring with index 0 or (variable x):
round 1 index 0: [(x+y+z), y, z] == [4, 2, 1]
round 2 index 1: [(x+y+z), (x+2y+2z), z] == [4, 7, 1]
round 3 index 2: [(x+y+z), (x+2y+2z), (2x+3y+4z)] == [4, 7, 12]
round 4 index 0: [(4x+6y+7z), (x+2y+2z), (2x+3y+4z)] == [23, 7, 12]
round 5 index 1: [(4x+6y+7z), (7x+11y+13z), (2x+3y+4z)] == [23, 42, 12]
round 6 index 2: [(4x+6y+7z), (7x+11y+13z), (13x+20y+24z)] == [23, 42, 77]
round 7 index 0: [(24x+37y+24z), (7x+11y+13z), (13x+20y+24z)] == [142, 42, 77]

由于序列可以重复数百万次,我想知道如何在不计算第 0 到第 i 轮的情况下计算第 i 轮。任何建议将不胜感激。

最佳答案

这个问题应该迁移到 math.stackexchange.com,但是:

如果我们称 X[n] 为列 vector (x[n],y[n],z[n]) 是“n”,“时间”索引表示一个完整的回合,我们得到关系 X (n+1) = A X(n) 其中 A 是矩阵

       1  1  1
  A =  1  2  2
       2  3  4

因此 X(n) = A^n X(0)

关于java - 相邻邻居求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9574427/

相关文章:

algorithm - 查找数组中最大的整数和但不大于 x

lisp - 哪种语言可以计算抽象函数的 Frechet/Gateaux 导数?

java - 检查文件中的电子邮件地址并提取它们

java - 试图找出排序的差异

c++ - 编辑距离 - 带内存

algorithm - 如何检查多边形是否凸?

math - 计算 bool 表达式的简化乘积和

python - 我可以在 Python 2.7 中编写一个执行符号计算的函数吗?

java - 如何在 Netbeans 中设置 JList 的 ListModel?

Java Swing 文本字段问题