我想執行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
中創建大量新列表,可能的快捷方式...)。