Answer
procedure mode($a_1, a_2, a_3, ..., a_n:$ non-decreasing sequence of integers)
count$:=0$
mode$:= -1$
index$:=1$
while index $\le n$
$\space\space\space$ curvalue $:= a_{index}$
$\space\space\space$ number $:= 0$
$\space\space\space$ while $a_{index} $ is equal to curvalue AND index $\le n$
$\space\space\space$$\space\space\space$ number $:= $number + $1$
$\space\space\space$$\space\space\space$ index $:= $ index + $1$
$\space\space\space$ if number $>$ count
$\space\space\space$$\space\space\space$ count = number
$\space\space\space$$\space\space\space$ mode = curvalue
return curvalue
Work Step by Step
This algorithm attempts to find the mode of a set of integers in non-decreasing order. It exploits the fact that they are sequentially arranged by calculating the number of occurences of a value $\alpha$ by continuing along the set until we encounter a value that's not equal to $\alpha.$
Notice how we handle edge cases by checking for the boundary condition (index equal to $n$) in both loops.