Heim > Backend-Entwicklung > PHP-Tutorial > . Größte Zahl

. Größte Zahl

DDD
Freigeben: 2024-09-19 06:21:07
Original
582 Leute haben es durchsucht

. Largest Number

179. Größte Zahl

Schwierigkeit:Mittel

Themen: Array, String, Greedy, Sortieren

Ordnen Sie eine gegebene Liste nicht negativer Ganzzahlen so an, dass sie die größte Zahl bilden, und geben Sie sie zurück.

Da das Ergebnis sehr groß sein kann, müssen Sie eine Zeichenfolge anstelle einer Ganzzahl zurückgeben.

Beispiel 1:

  • Eingabe: nums = [10,2]
  • Ausgabe: „210“

Beispiel 2:

  • Eingabe: nums = [3,30,34,5,9]
  • Ausgabe: „9534330“

Einschränkungen:

  • 1 <= nums.length <= 100
  • 0 <= nums[i] <= 109

Lösung:

Wir müssen Zahlen anhand ihrer verketteten Ergebnisse vergleichen. Für zwei Zahlen a und b vergleichen wir ab (a verkettet mit b) und ba (b verkettet mit a) und entscheiden über die Reihenfolge, auf deren Grundlage eine größere Zahl entsteht.

Ansatz:

  1. Benutzerdefinierte Sortierung: Implementieren Sie eine benutzerdefinierte Komparatorfunktion, die die Zahlen durch Vergleich der verketteten Ergebnisse sortiert.
  2. Randfall: Wenn die größte Zahl nach der Sortierung 0 ist, ist das Ergebnis „0“, da alle Zahlen Null sein müssen.
  3. Verkettung: Nach dem Sortieren verketten Sie die Zahlen, um das Endergebnis zu bilden.

Lassen Sie uns diese Lösung in PHP implementieren: 179. Größte Zahl






Erläuterung:

  1. usort($nums, $comparator): Wir sortieren das Array mit einem benutzerdefinierten Komparator. Für jedes Zahlenpaar a und b vergleichen wir die verketteten Zeichenfolgen a . b und b . a.
  2. Vergleichslogik: Der strcmp($order2, $order1) stellt sicher, dass wir eine absteigende Reihenfolge basierend auf den verketteten Zeichenfolgen erhalten.
  3. Edge Case Handling: Wenn das erste Zeichen der resultierenden verketteten Zeichenfolge 0 ist, geben wir „0“ zurück, was geschieht, wenn alle Elemente des Arrays Nullen sind.
  4. Zeitkomplexität: Das Sortieren der Zahlen erfordert O(n log n) und ihre Verkettung erfordert O(n), wobei n die Anzahl der Zahlen im Eingabearray ist.

Diese Lösung verarbeitet die Einschränkungen effizient und gibt die größtmögliche Zahl als Zeichenfolge zurück.

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:

  • LinkedIn
  • GitHub

Das obige ist der detaillierte Inhalt von. Größte Zahl. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage