@FelixGEEK

Not quite like how you explain.

Think about [3, 4, 2, 1, 5], 5 is the element we want, but at the time we reach 5, small = 1, big = 4. But the sequence is not 1 4 5, it's 3 4 5.

So I think here the condition is, if you find any element greater than big, it can be regarded as the third element in sequence. But in order to update the big variable, to give you bigger range for the third element, you need to update the small variable, which gives you bigger range for the new "big" variable.