-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathmain.cpp
29 lines (25 loc) · 889 Bytes
/
main.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
class NumArray
{
public:
vector<int> prefixSum; // Vecteur pour stocker les sommes préfixes
// Constructeur prenant un vecteur d'entiers en entrée
NumArray(vector<int> &nums)
{
prefixSum.reserve(nums.size() + 1); // Réserver de l'espace pour le vecteur prefixSum
// Calculer les sommes préfixes
for (int i = 0; i < nums.size(); i++)
{
prefixSum[i + 1] = nums[i] + prefixSum[i]; // Ajouter la somme partielle au vecteur prefixSum
}
}
// Méthode pour calculer la somme dans une plage donnée
int sumRange(int left, int right)
{
return prefixSum[right + 1] - prefixSum[left]; // Calculer la somme dans la plage [left, right]
}
};
/**
* Your NumArray object will be instantiated and called as such:
* NumArray* obj = new NumArray(nums);
* int param_1 = obj->sumRange(left,right);
*/