給定大小爲n和子數組大小爲k的無序數組,從所有連續的子數組總和中找出最小和。查找數組中K個序列項的最小總和
我們將有(N-(K-1))子陣列
實施例:
陣列(N = 5):5 3 0 2 5
K = 3
子陣列:5 3 0,3 0 2,0 2 5
和:8,5,7
最小總和:5
我的代碼:
sum = 0;
for(index=0; index<K; index++){
sum = sum + array[index];
}
minSum = sum;
if(N!=K){
for(index=1; index<=(N-H); index++){
sum = sum - array[index-1] + array[index+K-1];
if(sum < minSum){
minSum = sum;
}
}
}
cout << minSum << endl;
我的問題是:
是否有任何有效的代碼在那裏做到這一點? 由於數組有10^5個元素,所以需要很多時間。
10^5個元素可能是問題..:}在任何情況下,不應該是 「多少時間」,比較。正在看什麼類型的時光?預期/要求是什麼? – user2864740