序列(数组)的区间通过左右端点确定,这样首先设置一个最值变量用来记录最值,从左端点一步步移动到右端点,自然移动的过程中也可以计算整个区间的和,也即一次线性遍历下来,可同时获得多个有用信息。
// 区间左闭右开
int getRangeMin(const vector<int>& seq, int begin, int end){
int minVal = seq[begin];
for (int walk = begin + 1; walk < end; ++walk){
minVal = min(minVal, seq[walk]);
}
return minVal;
}