2419. Längstes Subarray mit maximalem bitweisen UND
Schwierigkeit:Mittel
Themen: Array, Bit-Manipulation, Brainteaser
Sie erhalten ein ganzzahliges Array mit der Größe n.
Betrachten Sie ein nicht leeres Subarray aus Nums, das das maximal mögliche bitweise UND aufweist.
Gibt die Länge des längstensolchen Subarrays zurück.
Das bitweise UND eines Arrays ist das bitweise UND aller darin enthaltenen Zahlen.
Ein Subarray ist eine zusammenhängende Folge von Elementen innerhalb eines Arrays.
Beispiel 1:
Beispiel 2:
Einschränkungen:
Hinweis:
Lösung:
Lassen Sie uns das Problem zunächst Schritt für Schritt aufschlüsseln:
Bitweise UND-Eigenschaften:
Ziel:
Für das Eingabearray [1,2,3,3,2,2] beträgt der Maximalwert 3. Das längste zusammenhängende Unterarray mit nur 3 ist [3,3] mit einer Länge von 2.
Lassen Sie uns diese Lösung in PHP implementieren: 2419. Längstes Subarray mit maximalem bitweisen AND
Erläuterung:
- Schritt 1: Wir ermitteln zunächst den Maximalwert im Array mithilfe der in PHP integrierten Funktion max().
- Schritt 2: Wir initialisieren zwei Variablen, $maxLength, um die Länge des längsten Subarrays zu speichern, und $currentLength, um die Länge des aktuellen zusammenhängenden Subarrays mit dem Maximalwert zu verfolgen.
- Schritt 3: Wir durchlaufen das Array:
- Wenn die aktuelle Zahl dem Maximalwert entspricht, erhöhen wir die Länge des aktuellen Subarrays.
- Wenn die aktuelle Zahl nicht dem Maximalwert entspricht, prüfen wir, ob das aktuelle Subarray das bisher längste ist und setzen die Länge zurück.
- Letzter Schritt: Nach der Schleife stellen wir sicher, dass wir es trotzdem berücksichtigen, wenn sich das längste Subarray am Ende des Arrays befindet.
- Schließlich geben wir die Länge des längsten Subarrays zurück, das nur den Maximalwert enthält.
Zeitkomplexität:
Für die Eingabe [1, 2, 3, 3, 2, 2] ist die Ausgabe 2, und für [1, 2, 3, 4] ist die Ausgabe wie erwartet 1.
Diese Lösung bewältigt die Einschränkungen und löst das Problem effizient.
Kontaktlinks
Wenn Sie diese Serie hilfreich fanden, denken Sie bitte darüber nach, dem Repository einen Stern auf GitHub zu geben oder den Beitrag in Ihren bevorzugten sozialen Netzwerken zu teilen? Ihre Unterstützung würde mir sehr viel bedeuten!
Wenn Sie weitere hilfreiche Inhalte wie diesen wünschen, folgen Sie mir gerne:
Das obige ist der detaillierte Inhalt vonLängstes Subarray mit maximalem bitweisen UND. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!