我正在做一個練習題,我被卡住了。現在的問題是Java數組建議
「給定陣列的n個(比如說加倍),考慮計算 平均第i個數字,用於i
從0
到n-1
的問題。也就是說,計算 數組b長n
,其中 b[i] = a[0] + a[1] ....+ a[i]/(i + 1)
爲0 <= i < n
。 寫Java程序來解決這個問題,你的程序可以生成自己的 陣列,例如a[i] = i + 1
。見數組多大,你可以在不到 5秒處理。(對於完全的信貸,它應該至少有一百萬。) 表徵算法的時間複雜性。「
這是我在解決它的嘗試:
public class largeArray{
public static void main(String[] args){
double[] aa = new double[1000000];
System.out.println(CalculateAvg(aa));
}
public static double CalculateAvg(double[] a){
int i =0;
double[] array = new double[i];
a[i] = i + 1;
for(int k=0; k<array.length; i++){
double total = a[k]+a[k];
double sum = ((total)/a[i]);
}
return a[i];
}
}
你沒有真正總結的價值觀 - 你宣佈對循環的每個迭代一個新的局部變量和加倍現有的價值......,什麼是對的'array'價值? –
@JonSkeet基本上我想要做的是創建一個程序,它有一個不固定值的數組,並且在5秒後找到平均值的問題已經相應地解決了這個問題。我不太清楚如何初始化初始值,但要繼續運行。數組值是在5秒後測試多少次。它沒有真正的意義,只是一個考驗而已。 – user2045470
我看不到在5秒*之後找到平均值*的地方。它必須在* 5秒之前完成*。提示:嘗試聲明循環中的總數*,從零開始,並將這些值相加。然後想想平均值是多少... –