A running minimum keeps the smallest value seen so far while scanning an array.

Running Minimum

running_min.c
#include <stdio.h>

int main(void) {
    int last = ;
    int values[4] = {6, 3, 8, last};
    int minimum = values[0];

    for (int i = 1; i < 4; i++) {
        if (values[i] < minimum) {
            minimum = values[i];
        }
    }

    printf("min=%d\n", minimum);
    return 0;
}
#include <stdio.h>

int main(void) {
    int last = ;
    int values[4] = {6, 3, 8, last};
    int minimum = values[0];

    for (int i = 1; i < 4; i++) {
        if (values[i] < minimum) {
            minimum = values[i];
        }
    }

    printf("min=%d\n", minimum);
    return 0;
}
#include <stdio.h>

int main(void) {
    int last = ;
    int values[4] = {6, 3, 8, last};
    int minimum = values[0];

    for (int i = 1; i < 4; i++) {
        if (values[i] < minimum) {
            minimum = values[i];
        }
    }

    printf("min=%d\n", minimum);
    return 0;
}
current best The current best starts with the first value.
update rule When the loop sees a smaller value, it replaces the current best.