我不知道是否有这种问题的名称,更不用说解决方案,所以我所能做的就是尽我所能地描述它。在两个数组之间进行插值并更改值
假设我有在以下的状态的数组:
[0,0,3,0]
后来数组中的值已更改为:
[5 ,0,0,0]
让我们把旧的国家一个和新的状态ç。我们想要找到代表两者之间的中间形式的状态B。
我真正想要的中间形式是[0,4,0,0],这样状态在所有三个阶段中的变化代表着正在改变位置和价值的东西的运动。
简单地平均这两个状态不起作用,因为这会产生以下中间形式:[2.5,0,1.5,0],这是我后来发生的错误表示。
又如:
甲:[0,2,0,0,0,6]
C:[0,4,0,8,0,0]
中间形式应该是:
B:[0,3,0,0,7,0]
部分问题是我在定义问题时遇到问题。我很清楚给出输入的结果是什么,但我似乎无法用足够精确的语言来描述输入的结果。
根据输入描述结果的正确方法是什么,以便我可以更好地描述问题?
最终,有没有一种算法可以产生我所追求的?
这适用于未改变的值全部为0,如我的例子,但我不认为这将工作时,他们是别的东西。例如[2,2,3,2]和[5,2,2,2]应该产生[2,4,2,2] ...我想知道这是否可以通过改变if if e1!= 0来解决,或者e2!= 0'到'if e1!= e2'?现在用我选择的语言试试这个...... – Joey
看到我更新的答案。一般来说,我看不出没有指定它的“基础”。毕竟,[2,2,3,2]和[5,2,2,2]可以是一个数组,其中2在索引0处变为5,2在索引1处变为2等等。 – BallpointBen
我明白了。那么我猜想那里存在着固有的歧义。我想我可以通过检查两个输入之间最常见的值来预先计算一个“基数”。当然,在不存在共同值的情况下,这不起作用,例如, [1,2,3]和[5,6,7] ==> [3,4,5] – Joey