1072. Retournez les colonnes pour un nombre maximum de lignes égales
Difficulté :Moyen
Sujets : Tableau, table de hachage, matrice
Vous recevez une matrice matricielle binaire m x n.
Vous pouvez choisir n'importe quel nombre de colonnes dans la matrice et retourner chaque cellule de cette colonne (c'est-à-dire changer la valeur de la cellule de 0 à 1 ou vice versa).
Renvoyer le nombre maximum de lignes dont toutes les valeurs sont égales après un certain nombre de retournements.
Exemple 1 :
Exemple 2 :
Exemple 3 :
Contraintes :
Indice :
Solution :
Nous pouvons utiliser une carte de hachage pour regrouper des lignes qui peuvent être rendues identiques en retournant certaines colonnes. Les lignes qui peuvent être rendues identiques ont soit le même motif, soit un motif complémentaire (négation au niveau du bit).
Voici la solution étape par étape :
Implémentons cette solution en PHP : 1072. Retournez les colonnes pour un nombre maximum de lignes égales
Explication:
- Motif et complément :
- Pour chaque ligne, le motif est la ligne concaténée (par exemple, 010).
- Le complément retourne tous les bits de la ligne (par exemple, 101).
- Hash Map : Comptez les occurrences de chaque motif et son complément. Cela permet de regrouper les lignes qui peuvent être rendues identiques.
- Nombre maximum : Recherchez le nombre maximum d'un seul motif ou de son complément pour déterminer combien de lignes peuvent être rendues identiques.
Complexité:
Cette solution respecte les contraintes et est efficace pour la taille du 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!