[Perl] Le + petit 'disponible' d'une liste
Résolu
KuKrApOk59
Messages postés
444
Statut
Membre
-
KuKrApOk59 Messages postés 444 Statut Membre -
KuKrApOk59 Messages postés 444 Statut Membre -
Bonjour,
J'ai actuellement un petit souci
Je m'explique :
J'ai une @liste qui contient :
1 2 3 4 6 8 11 15
J'aurais voulu savoir comment je pouvais m'y prendre pour trouver que '5' est le premier chiffre qui manque à la liste
Si vous aviez une idée pour m'éclaircir sur le sujet ...
J'ai actuellement un petit souci
Je m'explique :
J'ai une @liste qui contient :
1 2 3 4 6 8 11 15
J'aurais voulu savoir comment je pouvais m'y prendre pour trouver que '5' est le premier chiffre qui manque à la liste
Si vous aviez une idée pour m'éclaircir sur le sujet ...
A voir également:
- [Perl] Le + petit 'disponible' d'une liste
- Liste déroulante excel - Guide
- Cette personne n'est pas disponible sur messenger - Guide
- Liste code ascii - Guide
- Liste déroulante en cascade - Guide
- Epg non disponible - Forum Box et Streaming vidéo
2 réponses
Je suis en train de me creuser le citron a partir d'un script bash qui le fait
J'en fait un bout de perl fonctionnel, et je le posterai ici ...
On sait jamais, ca peut servir :p
J'en fait un bout de perl fonctionnel, et je le posterai ici ...
On sait jamais, ca peut servir :p
Plop,
J'ai fini par utiliser un bout de perl présent dans le script adduser de ma distrib
Finalement, l'objectif est le même
Ce qui donne :
@ids est la liste que l'on veut parser
$min, le plus petit élément de @ids
$max, le plus grand élément de @ids
J'ai fini par utiliser un bout de perl présent dans le script adduser de ma distrib
Finalement, l'objectif est le même
Ce qui donne :
# Pour recuperer le premier nombre manquant d'une liste
#######################################################
sub first_avail_id {
my ($min, $max, @ids) = @_;
@ids = sort {$a <=> $b} @ids;
while ($min <= $max) {
return $min if ($min < $ids[0] || @ids==0);
shift @ids if ($min > $ids[0]);
$min++ if ($min == $ids[0]);
}
-1; # nothing available
}
@ids est la liste que l'on veut parser
$min, le plus petit élément de @ids
$max, le plus grand élément de @ids