Jumlah kumulatif subarray
Pelajaran 25 dari 26 dalam kursus Array di C++ di Coddy.
Array jumlah kumulatif adalah array yang berisi semua jumlah elemen array hingga indeks tersebut.
Sebagai contoh,
Arr={1,2,3,4}
untuk i=0 jumlah kumulatifnya adalah 1
untuk i=1 jumlah kumulatifnya adalah 1+2=3
untuk i=2 jumlah kumulatifnya adalah 1+2+3=6
untuk i=3 jumlah kumulatifnya adalah 1+2+3+4=10
Jadi, array kumulatifnya menjadi {1,3,6,10}
Salah satu cara menghitungnya adalah dengan menggunakan dua perulangan bersarang, lalu menghitung jumlah dan menyimpannya dalam array. Seperti ini:
int k=0;
while(k<n){
int sum=0;
for(int j=0;j<k+1;j++){
sum=sum+arr[j];
}
ans[k]=sum;
k++;
}Cara lainnya dan yang paling efisien untuk menghitung array kumulatif adalah dengan menambahkan elemen saat ini ke jumlah sebelumnya.
Arr={1,2,3,4}
cumArr[] adalah array kumulatif.
- cumArr[0]=1
- cumArr[1]=jumlah sebelumnya+Arr[1] = 1 + 2 = 3
- cumArr[2]=jumlah sebelumnya+Arr[2] = 3 + 3 = 6
- cumArr[3]=jumlah sebelumnya+Arr[1] = 6 + 4= 10
Ini dapat dilakukan seperti berikut:
int sum=0;
for(int i=0;i<n;i++){
sum=sum+arr[i];
ans[i]=sum;
}Teka-teki
Menurutmu, berapa kompleksitas waktu dari kedua pendekatan ini?
Coba sendiri
Pelajaran ini tidak memiliki tantangan kode.
Semua pelajaran di Array di C++
2Analisis Memori
Alokasi Memori8Subarray
PengantarSubsekuensMencetak semua subarraySubarray dengan jumlah tertentuJumlah kumulatif subarrayAlgoritma KadaneLatihan sendiri: Compiler C++ online