„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Final Array State nach k -Multiplikationsoperationen i

Final Array State nach k -Multiplikationsoperationen i

Veröffentlicht am 2025-02-04
Durchsuche:179

Final Array State After K Multiplication Operations I

3264. Endgültiger Array -Status nach k -Multiplikationsoperationen i

Schwierigkeitsgrad: easy

themen: array, math, Heap (Prioritätswarteschlange), Simulation

Sie erhalten eine Ganzzahl -Array -NUMS, eine Ganzzahl k und ein ganzzahliger Multiplikator.

Sie müssen K -Operationen auf nums ausführen. In jeder Operation:

  • Finde den Mindestwert x in nums. Wenn es mehrere Ereignisse des Mindestwerts gibt, wählen Sie die aus, die zuerst .
  • erscheint.
  • Ersetzen Sie den ausgewählten Mindestwert X durch X * Multiplikator.

return ein ganzzahliges Array, das den endgültigen Zustand der NUMS bezeichnet, nachdem alle K -Operationen ausgeführt wurden .

Beispiel 1:

  • input: nums = [2,1,3,5,6], k = 5, multiplier = 2
  • output: [8,4,6,5,6]
  • Erläuterung:

| Operation | Ergebnis |
| ------------------- | ------------------ |
| Nach Operation 1 | [2, 2, 3, 5, 6] |
| Nach Operation 2 | [4, 2, 3, 5, 6] |
| Nach Operation 3 | [4, 4, 3, 5, 6] |
| Nach Operation 4 | [4, 4, 6, 5, 6] |
| Nach Operation 5 | [8, 4, 6, 5, 6] |

Beispiel 2:

  • input: nums = [1,2], k = 3, multiplier = 4
  • output: [16,8]
  • Erläuterung:

| Operation | Ergebnis |
| ------------------- | ------------------ |
| Nach Operation 1 | [2, 2, 3, 5, 6] |
| Nach Operation 2 | [4, 2, 3, 5, 6] |
| Nach Operation 3 | [4, 4, 3, 5, 6] |
| Nach Operation 4 | [4, 4, 6, 5, 6] |
| Nach Operation 5 | [8, 4, 6, 5, 6] |

Einschränkungen:

  • 1
  • 1
  • 1
  • 1

Hinweis:

  1. pflegen sortierte Paare (nums [index], index) in einer vorrangigen Warteschlange.
  2. .
  3. simuliere die Operation k times.

Lösung:

Wir müssen die Operationen wie in der Problemanweisung beschrieben implementieren. Die wichtigsten Schritte bestehen darin, den Mindestwert im Array zu finden, ihn durch den Wert zu ersetzen, der vom angegebenen Multiplikator multipliziert wird, und dann diesen Vorgang zu wiederholen.

.

Da wir das erste Ereignis des Mindestwerts auswählen und ersetzen müssen, können wir uns dies nähern, indem wir den Index des Mindestwerts während jeder Operation verfolgen. Die PHP-Implementierung verwendet eine vorrangige Warteschlange (Min-HEAP), um den Mindestwert während jeder Operation effizient abzurufen und zu aktualisieren.

Lassen Sie uns diese Lösung in PHP implementieren: 3264. Endgültiger Array -Status nach k -Multiplikationsoperationen i


php /** * @param Integer [] $ nums * @param Integer $ k * @param Integer $ multiplikator * @return Integer [] */ Funktion endarrayState ($ nums, $ k, $ multiplikator) { ... ... ... /** * Gehen Sie zu ./solution.php */ } // Testfall 1 $ nums1 = [2, 1, 3, 5, 6]; $ k1 = 5; $ multiplierer1 = 2; $ result1 = endarrayState ($ nums1, $ k1, $ multiplier1); Echo "Ausgabe: [". implode (",", $ result1). "]\N"; // Testfall 2 $ nums2 = [1, 2]; $ k2 = 3; $ multiplier2 = 4; $ result2 = eNDEDArrayState ($ nums2, $ k2, $ multiplier2); Echo "Ausgabe: [". implode (",", $ result2). "]\N"; ?>

Erläuterung:
  1. initialization
  2. : loop k Zeiten, da Sie K -Operationen ausführen müssen.
  3. minimal value finden
      :
    • Iterieren Sie über die Array -NUMS, um den kleinsten Wert und seine erster Vorkommen index
    • zu finden.
    .
  4. .
    • minimal value multiply value
    • :
    Ersetzen Sie den Wert im identifizierten Index durch das Produkt des aktuellen Wertes und des Multiplikators.
  5. .
    • Wiederholen
    • :
    Wiederholen Sie die obigen Schritte für K -Iterationen.
    • Gibt den endgültigen Array zurück
    • :
    Gibt das geänderte Array nach allen Operationen zurück.

Testausgabe

für die bereitgestellten Testfälle:

Testfall 1:

Eingang:
$nums = [2, 1, 3, 5, 6];
$k = 5;
$multiplier = 2;

$ nums = [2, 1, 3, 5, 6]; $ k = 5; $ multiplierer = 2;

Ausgabe:
$nums = [2, 1, 3, 5, 6];
$k = 5;
$multiplier = 2;

Ausgabe: [8, 4, 6, 5, 6]

Testfall 2:

Eingang:
$nums = [2, 1, 3, 5, 6];
$k = 5;
$multiplier = 2;

$ nums = [1, 2]; $ k = 3; $ multiplierer = 4;

Ausgabe:
$nums = [2, 1, 3, 5, 6];
$k = 5;
$multiplier = 2;

Ausgabe: [16, 8]

    Komplexität
  1. Zeitkomplexität
      :
    • Für jedes der K -Operationen erfordert das Finden des Mindestwerts im Array o (n). total: o (k x n) , wobei n
    die Größe des Arrays ist.
  2. .
  3. space complexity
      :
    • Die Lösung verwendet o (1)
    zusätzlichen Raum.

Diese Lösung hält die Einschränkungen an und liefert die erwarteten Ergebnisse für alle Testfälle.

wenden Sie sich an links

Wenn Sie diese Serie hilfreich gefunden haben, sollten Sie den

repository

einen Stern auf Github geben oder den Beitrag in Ihren Lieblingsnetzwerken teilen? Ihre Unterstützung würde mir viel bedeuten!

    Wenn Sie mehr hilfreiche Inhalte wie diesen wünschen, können Sie mir gerne folgen:
  • linkedIn
  • github

Final Array State After K Multiplication Operations I

Freigabeerklärung Dieser Artikel ist in: https://dev.to/mdarifulhaque/3264-FINAL-RRAY-State-after-k-Multiplication-operations-4l5b reproduziert?
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3