0
我已經創建了一個方法(基於我在網上找到的僞代碼)來計算數組的前綴平均值,但我不確定我是否滿足要求。線性前綴平均法比二次前綴平均法好嗎?
的要求是:
給定n個編號的陣列的[1 ... n]中計算另一數組b [1 ... n]的還長的 n使得是b [i]是n的平均值爲[0] ... a [i],爲0 < = i < = n。
我環顧四周,找到了前綴平均方法的線性和二次版本的僞代碼,並創建了我自己的每個實現。
這裏是線性版本:
public static double[] prefixAverages1 (double[] n) {
double b[] = new double[n.length];
double s = 0;
for (int i = 0; i < n.length; i++) {
s += n[i];
b[i] = s/(i+1);
}
return b;
}
這裏是二次版本:
public static double[] prefixAverages2 (double[] n) {
double b[] = new double[n.length];
for (int i = 0; i < n.length; i++) {
double t = 0;
for (int j = 0; j <= i; j++) {
t += n[j];
}
b[i] = t/(i+1);
}
return b;
}
我的問題:
執行這兩項功能滿足要求,如果是的話,哪一個更好?
看起來這兩種方法都滿足要求。線性運行時間比二次方更快,所以第一個是最好的(從運行時間的角度來看)。 – MAV
這個問題似乎無關緊要,因爲它是我們審查或測試代碼的請求。 – Raedwald