我想执行Newton interpolation formula。也许这给了下面的文字更有意义。组合列表中的相邻元素
我找一个列表的功能,结合在列表中每两个相邻的新的价值。它应该非常快,并且(如果可能)不涉及创建新列表。我想连续多次执行下面描述的缩小操作,但是要获取其中的一些数据。
Before: a b c d
\/\/\/
After: ab bc cd
它被组合的二元函数应该可以自由切换。
到目前为止,我想出了这样的事情(但阵列):
double[] before = {4, 3, 7, 1};
while(before.length > 1){
double[] after = new double[before.length - 1];
for (int i = 0; i < after.length; i++){
after[i] = chosenBinaryFunction(before[i], before[i+1]);
}
//store after[0]
before = after;
}
回答“没有比你做了什么更好的方式”是可以接受的。在这种情况下,请提供如何改进方法的提示(例如,避免在while
中创建大量新列表,可能的快捷方式...)。