Ilha dos Buggles

Acaba de receber as anotações de viagem da sua tia velha que atravessou o país das Ilhas dos Buggles. Ela escreveu a altitude a cada quilômetro durante a viagem, a resultar numa sequência de números como segue.
0 0 1 1 2 2 1 1 0 1 2 2 1 1 0

Aqui está um corte das ilhas por este caminho:

       /***\       /*\         <-- 2 metros acima do nível do mar
   /***********\ /*******\     <-- 1 metro acima do nível do mar
***************************    <-- nível do mar
| | | | | | | | | | | | | |
0 0 1 1 2 2 1 1 0 1 2 1 1 0    <-- altitude em cada ponto

Este exemplo é constituído de quatro níveis de ilhas:

Isto também pode ser visualizado desta forma:

0 0(1 1(2 2)1 1)0(1(2)1 1)0

Poderia escrever um pequeno programa que calculasse a quantidade de níveis numa dada sequência de altitudes? Na verdade, existem uma solução iterativa e uma recursiva para este problema.