1. 程式人生 > >演算法 Tricks(三)—— 陣列(序列)任意區間最小(大)值

演算法 Tricks(三)—— 陣列(序列)任意區間最小(大)值

序列(陣列)的區間通過左右端點確定,這樣首先設定一個最值變數用來記錄最值,從左端點一步步移動到右端點,自然移動的過程中也可以計算整個區間的和,也即一次線性遍歷下來,可同時獲得多個有用資訊。

// 區間左閉右開
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; }