PHP: Le nombre d'éléments consécutifs dans le tableau
J'ai travaillé sur un problème:
Trouvez le groupe le plus important de numéros consécutifs dans la matrice.
Disons que nous avons un tableau
, Le plus grand groupe de nombres consécutifs dans ce tableau 5 /1, 2, 3, 4, et 5/.
L'algorithme de solution doit être une complexité temporaire. O /n/.
J'ai résolu ce problème avec le code suivant ruby, Mais j'ai eu des problèmes de poster sur PHP, Comme demandé.
Trouvez le groupe le plus important de numéros consécutifs dans la matrice.
Disons que nous avons un tableau
[5, 43, 4, 56, 3, 2, 44, 57, 58, 1]
, Le plus grand groupe de nombres consécutifs dans ce tableau 5 /1, 2, 3, 4, et 5/.
L'algorithme de solution doit être une complexité temporaire. O /n/.
J'ai résolu ce problème avec le code suivant ruby, Mais j'ai eu des problèmes de poster sur PHP, Comme demandé.
arr = [8, 13, 14, 10, 6, 7, 8, 14, 5, 3, 5, 2, 6, 7, 4]
result = []
stage = []
for i in arr:
if len/stage/ > 0 and i != stage[-1]+1:
if len/stage/ > 1:
result.append/stage/
stage = []
stage.append/i/
print result
Aucun résultat connexe trouvé
Invité:
Pour répondre aux questions, connectez-vous ou registre
3 réponses
Clement
Confirmation de:
Vous pouvez obtenir la longueur maximale de
.
Cette solution vous donne le tableau suivant:
Giselle
Confirmation de:
Constantine
Confirmation de:
L'idée est que
Prend en charge les ensembles Dick indexés par
Tout
Liste des éléments. Chaque fois que vous rencontrez un nouvel élément, le précédent et les ensembles suivants sont combinés s'ils sont présents.
Opération
Techniquement est
, mais il n'est pas exacerbé par un cycle externe, car il ne peut y avoir que d'insertion
En kits par fusion. En général, que
Si la séquence n'est pas triée, alors la confluence des ensembles +1 et -1 donne des difficultés not-so-good.