编写C++函数 maxIncrease,用于计算一个销售额序列中的最大销售增幅并返回。这里的销售额都是非负整数。 对于给定的销售额序列 A,假设序列 A 的长度为 n( n >= 2 ),最大销售额增幅是指满足0 <= x <= y < n的A[y] - A[x]的最大值。 例如,销售额序列11,3,5,7,9,2,4,6,8,10的最大增幅为8(在 x=5 , y=9 时)。
时间: 2024-01-24 20:17:04 浏览: 137
以下是一个简单的C++程序,用于生成斐波那契数列的前n项.pdf
以下是C++函数maxIncrease的代码实现:
```cpp
int maxIncrease(vector<int>& A) {
int n = A.size();
int max_increase = 0;
int min_val = A[0];
for(int i = 1; i < n; i++) {
max_increase = max(max_increase, A[i] - min_val);
min_val = min(min_val, A[i]);
}
return max_increase;
}
```
该函数接收一个整数向量A作为参数,并返回最大销售增幅。在函数中,我们首先获取A的长度n并初始化最大增幅为0和最小值为A[0]。然后,我们遍历整个向量,计算每个元素与当前最小值之间的差值。如果这个差值比最大增幅要大,则更新最大增幅。同时,我们还需要更新当前最小值为A[i]和当前最小值之间的较小值。最终,我们返回最大增幅即可。
对于给定的销售额序列11,3,5,7,9,2,4,6,8,10,函数将返回8,符合预期结果(在 x=5 , y=9 时最大增幅为8)。
阅读全文