Màxims locals d’una llista

Un màxim local d’una lista és un element de la llista que és major que el seu predecessor i que el seu successor en la llista.

Implementa una funció ITERATIVA que, donada un llista d’enters, torna una altra llista amb els màxims locals de la llista donada.

La capçalera de la funció és la següent:

// \textbf{Pre}: cert
// \textbf{Post}: retorna una llista amb els màxims locals de \emph{l}.
list<int> maxims_locals_llista(const list<int> &l)

Per exemple:

maxims_locals_llista([3, 2, 5, 3, 7, 7, 1, 6, 2]) = [5, 6]

5 és un màxim local ja que és major que 2 (el seu predecessor) i que 3 (el seu successor). 6 també és un màxim local ja que és major que 1 (el seu predecessor) i que 2 (el seu successor).

Observació

Només cal enviar el procediment demanat; el programa principal serà ignorat.

Observació

La funció i subfuncions que creïs han de treballar només amb llistes (la classe list de la biblioteca STL). Heu de trobar una solució ITERATIVA i eficient del problema. En particular, no hi hauria d’haver cap crida recursiva en cap de les funcions que implementis. Si crees funcions auxiliars, afegeix-hi les corresponents Pre i Post. En els bucles inclou l’invariant del bucle.

Informació del problema

Autoria: Bernardino Casas

Generació: 2026-01-25T17:27:22.832Z

© Jutge.org, 2006–2026.
https://jutge.org