L'île des Buggles

Vous venez de recevoir les notes de voyage que votre vieille tante a rédigé lors de ses visites aux Îles des Buggles. Elle a noté l'altitude à chaque kilomètre pendant son voyage, ce qui donne des suites de nombres comme suit.
0 0 1 1 2 2 1 1 0 1 2 2 1 1 0

Voici une vue en coupe de l'île sur le parcours de votre tante :

       /***\       /*\         <-- 2 mètres au dessus du niveau de la mer
   /***********\ /*******\     <-- 1 mètre au dessus du niveau de la mer
***************************    <-- niveau de la mer
| | | | | | | | | | | | | |
0 0 1 1 2 2 1 1 0 1 2 1 1 0    <-- altitude en chaque point

Cet exemple est constitué de quatre niveaux d'île :

Cela peut également être visualisé ainsi :

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

Pourriez vous écrire un petit programme calculant le nombre de niveaux d'îles dans une séquence d'altitudes donnée ? En fait, il existe une solution itérative et une solution récursive à ce problème.