Maison >développement back-end >tutoriel php >Sous-tableau le plus long avec ET au niveau du bit maximum
2419. Sous-tableau le plus long avec ET au niveau du bit maximum
Difficulté :Moyen
Sujets : Tableau, manipulation de bits, casse-tête
Vous recevez un tableau d'entiers numériques de taille n.
Considérons un sous-tableau non vide à partir de nombres qui a le maximum possible ET au niveau du bit.
Renvoyer la longueur du le plus long de ce sous-tableau.
Le ET au niveau du bit d'un tableau est le ET au niveau du bit de tous les nombres qu'il contient.
Un sous-tableau est une séquence contiguë d'éléments au sein d'un tableau.
Exemple 1 :
Exemple 2 :
Contraintes :
Indice :
Solution :
Décomposons d'abord le problème étape par étape :
Propriétés AND au niveau du bit :
Objectif :
Pour le tableau d'entrée [1,2,3,3,2,2], la valeur maximale est 3. Le sous-tableau contigu le plus long avec seulement 3 est [3,3], qui a une longueur de 2.
Implémentons cette solution en PHP : 2419. Sous-tableau le plus long avec ET au niveau du bit maximum
Explication:
- Étape 1 : Nous trouvons d'abord la valeur maximale dans le tableau à l'aide de la fonction max() intégrée de PHP.
- Étape 2 : Nous initialisons deux variables, $maxLength pour stocker la longueur du sous-tableau le plus long et $currentLength pour suivre la longueur du sous-tableau contigu actuel de la valeur maximale.
- Étape 3 : Nous parcourons le tableau :
- Si le nombre actuel est égal à la valeur maximale, nous incrémentons la longueur du sous-tableau actuel.
- Si le nombre actuel n'est pas égal à la valeur maximale, nous vérifions si le sous-tableau actuel est le plus long jusqu'à présent et réinitialisons la longueur.
- Étape finale : Après la boucle, nous nous assurons que si le sous-tableau le plus long est à la fin du tableau, nous le considérons toujours.
- Enfin, nous renvoyons la longueur du sous-tableau le plus long qui contient uniquement la valeur maximale.
Complexité temporelle :
Pour l'entrée [1, 2, 3, 3, 2, 2], la sortie est 2, et pour [1, 2, 3, 4], la sortie est 1, comme prévu.
Cette solution gère les contraintes et résout efficacement le problème.
Liens de contact
Si vous avez trouvé cette série utile, pensez à donner une étoile au référentiel sur GitHub ou à partager la publication sur vos réseaux sociaux préférés ?. Votre soutien signifierait beaucoup pour moi !
Si vous souhaitez du contenu plus utile comme celui-ci, n'hésitez pas à me suivre :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!