2028. Finden Sie fehlende Beobachtungen
Schwierigkeit:Mittel
Themen:Array, Mathematik, Simulation
Sie haben Beobachtungen von n + m 6-seitigen Würfelwürfen, wobei jede Seite von 1 bis 6 nummeriert ist. n der Beobachtungen sind verloren gegangen und Sie haben nur die Beobachtungen von m Würfelwürfen. Glücklicherweise haben Sie auch den Durchschnittswert der n + m Rollen berechnet.
Sie erhalten ein ganzzahliges Array rolls der Länge m, wobei rolls[i] der Wert der iten Beobachtung ist. Sie erhalten außerdem die beiden ganzen Zahlen Mittelwert und n.
Gib ein Array der Länge n zurück, das die fehlenden Beobachtungen enthält, sodass der Durchschnittswert der n + m Würfe genau der Mittelwert ist. Wenn es mehrere gültige Antworten gibt, geben Sie eine davon zurück. Wenn kein solches Array vorhanden ist, geben Sie ein leeres Array zurück.
Der Durchschnittswert einer Menge von k Zahlen ist die Summe der Zahlen dividiert durch k.
Beachten Sie, dass der Mittelwert eine ganze Zahl ist, daher sollte die Summe der n + mrollen durch n + m teilbar sein.
Beispiel 1:
- Eingabe:Rollen = [3,2,4,3], Mittelwert = 4, n = 2
- Ausgabe: [6,6]
- Erklärung:Der Mittelwert aller n + m Würfe ist (3 + 2 + 4 + 3 + 6 + 6) / 6 = 4.
Beispiel 2:
- Eingabe:Rollen = [1,5,6], Mittelwert = 3, n = 4
- Ausgabe: [2,3,2,2]
- Erklärung:Der Mittelwert aller n + m Würfe ist (1 + 5 + 6 + 2 + 3 + 2 + 2) / 7 = 3.
Beispiel 3:
- Eingabe:Rollen = [1,2,3,4], Mittelwert = 6, n = 4
- Ausgabe: []
- Erklärung:Es ist unmöglich, dass der Mittelwert 6 beträgt, egal wie hoch die 4 fehlenden Würfe sind.
Einschränkungen:
- m == Rollenlänge
- 1 5
- 1
Hinweis:
- Wie hoch sollte die Summe der n Würfe sein?
- Könnten Sie ein Array der Größe n generieren, sodass jedes Element zwischen 1 und 6 liegt?
Lösung:
Wir müssen eine Reihe fehlender Würfe bestimmen, sodass der Durchschnitt aller n + m Würfelwürfe genau dem Mittelwert entspricht. Hier ist die Schritt-für-Schritt-Aufschlüsselung der Lösung:
Schritte zur Vorgehensweise:
Berechnen Sie die Gesamtsumme für n + m Rollen:
Da der Durchschnittswert von n + m Rollen der Mittelwert ist, sollte die Gesamtsumme aller Rollen total_sum = (n + m) * Mittelwert sein.Bestimmen Sie die fehlende Summe:
Die Summe der m Rollen ist bereits bekannt. Somit sollte die Summe der fehlenden n Rollen sein:
missing_sum = total_sum - ∑(rolls)
wobei ∑(Rolls) die Summe der Elemente im Rolls-Array ist.
- Prüfung auf Machbarkeit: Bei jedem Wurf handelt es sich um einen 6-seitigen Würfel, daher müssen die fehlenden Werte zwischen 1 und 6 (einschließlich) liegen. Daher muss die Summe der fehlenden n Würfe zwischen:
min_sum = n X 1 = n
und
max_sum = n X 6 = 6n
Wenn die fehlende_Summe außerhalb dieses Bereichs liegt, ist es unmöglich, gültige fehlende Beobachtungen zu bilden, und wir sollten ein leeres Array zurückgeben.
- Verteilen Sie die fehlende Summe: Wenn „missing_sum“ gültig ist, verteilen wir es auf die n Rollen, indem wir zunächst jedes Element mit 1 (dem minimal möglichen Wert) füllen. Dann erhöhen wir die Elemente von 1 auf 6, bis wir die erforderliche fehlende Summe erreichen.
Lassen Sie uns diese Lösung in PHP implementieren: 2028. Finden Sie fehlende Beobachtungen
<?php /** * @param Integer[] $rolls * @param Integer $mean * @param Integer $n * @return Integer[] */ function missingRolls($rolls, $mean, $n) { ... ... ... /** * go to ./solution.php */ } // Example 1 $rolls = [3, 2, 4, 3]; $mean = 4; $n = 2; print_r(missingRolls($rolls, $mean, $n)); // Example 2 $rolls = [1, 5, 6]; $mean = 3; $n = 4; print_r(missingRolls($rolls, $mean, $n)); // Example 3 $rolls = [1, 2, 3, 4]; $mean = 6; $n = 4; print_r(missingRolls($rolls, $mean, $n)); ?>
Erläuterung:
-
Eingabe:
- Rollen = [3, 2, 4, 3]
- Mittelwert = 4
- n = 2
-
Schritte:
- Die Gesamtzahl der Rollen beträgt n + m = 6.
- Die benötigte Gesamtsumme beträgt 6 * 4 = 24.
- Die Summe der gegebenen Würfe beträgt 3 + 2 + 4 + 3 = 12.
- Die erforderliche Summe für die fehlenden Rollen beträgt 24 - 12 = 12.
Wir brauchen zwei fehlende Würfe, die zusammen 12 ergeben, und die einzige Möglichkeit ist [6, 6].
-
Ergebnis:
- Beispiel 1: Die Ausgabe ist [6, 6].
- Beispiel 2: Die Ausgabe ist [2, 3, 2, 2].
- Zum Beispiel 3: Keine gültige Lösung, daher ist die Ausgabe [].
Zeitkomplexität:
- Das Berechnen der Summe der Würfe erfordert O(m) und das Verteilen der fehlenden_Summe erfordert O(n). Daher beträgt die Gesamtzeitkomplexität O(n + m), was für die Eingabebeschränkungen effizient ist.
Diese Lösung stellt sicher, dass wir entweder gültige fehlende Rollen finden oder ein leeres Array zurückgeben, wenn keine Lösung existiert.
Kontaktlinks
如果您發現本系列有幫助,請考慮在 GitHub 上給 存儲庫 一個星號或在您最喜歡的社交網絡上分享該帖子? 。您的支持對我來說意義重大!
如果您想要更多類似的有用內容,請隨時關注我:
- 領英
- GitHub
Das obige ist der detaillierte Inhalt vonFinden Sie fehlende Beobachtungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

PHP -Typ -Eingabeaufforderungen zur Verbesserung der Codequalität und der Lesbarkeit. 1) Tipps zum Skalartyp: Da Php7.0 in den Funktionsparametern wie int, float usw. angegeben werden dürfen. 3) Eingabeaufforderung für Gewerkschaftstyp: Da Php8.0 in Funktionsparametern oder Rückgabetypen angegeben werden dürfen. 4) Nullierstyp Eingabeaufforderung: Ermöglicht die Einbeziehung von Nullwerten und Handlungsfunktionen, die Nullwerte zurückgeben können.

Verwenden Sie in PHP das Klonschlüsselwort, um eine Kopie des Objekts zu erstellen und das Klonierungsverhalten über die \ _ \ _ Clone Magic -Methode anzupassen. 1. Verwenden Sie das Klonschlüsselwort, um eine flache Kopie zu erstellen und die Eigenschaften des Objekts, nicht die Eigenschaften des Objekts zu klonen. 2. Die \ _ \ _ Klonmethode kann verschachtelte Objekte tief kopieren, um flache Kopierprobleme zu vermeiden. 3. achten Sie darauf, dass kreisförmige Referenzen und Leistungsprobleme beim Klonen vermieden werden, und optimieren Sie die Klonierungsvorgänge, um die Effizienz zu verbessern.

PHP eignet sich für Webentwicklungs- und Content -Management -Systeme, und Python eignet sich für Datenwissenschafts-, maschinelles Lernen- und Automatisierungsskripte. 1.PHP hat eine gute Leistung beim Erstellen von schnellen und skalierbaren Websites und Anwendungen und wird üblicherweise in CMS wie WordPress verwendet. 2. Python hat sich in den Bereichen Datenwissenschaft und maschinelles Lernen mit reichen Bibliotheken wie Numpy und TensorFlow übertrifft.

Zu den wichtigsten Spielern in HTTP-Cache-Headern gehören Cache-Control, ETAG und Last-modifiziert. 1.Cache-Control wird verwendet, um die Richtlinien zu kontrollieren. Beispiel: Cache-Control: max-ay = 3600, öffentlich. 2. ETAG überprüft Ressourcenänderungen durch eindeutige Identifikatoren, Beispiel: ETAG: "686897696A7C876B7E". 3. Last-modifiziert gibt die letzte Änderungszeit der Ressource an, Beispiel: Last-Modified: Mi, 21okt201507: 28: 00GMT.

In PHP sollten die Funktionen für Passwort_Hash und passwart_verify verwendet werden, um sicheres Passwort -Hashing zu implementieren, und MD5 oder SHA1 sollte nicht verwendet werden. 1) Passwort_hash generiert einen Hash, der Salzwerte enthält, um die Sicherheit zu verbessern. 2) Passwort_Verify prüfen Sie das Passwort und sicherstellen Sie die Sicherheit, indem Sie die Hash -Werte vergleichen. 3) MD5 und SHA1 sind anfällig und fehlen Salzwerte und sind nicht für die Sicherheit der modernen Passwort geeignet.

PHP ist eine serverseitige Skriptsprache, die für dynamische Webentwicklung und serverseitige Anwendungen verwendet wird. 1.PHP ist eine interpretierte Sprache, die keine Zusammenstellung erfordert und für die schnelle Entwicklung geeignet ist. 2. PHP -Code ist in HTML eingebettet, wodurch es einfach ist, Webseiten zu entwickeln. 3. PHP verarbeitet die serverseitige Logik, generiert die HTML-Ausgabe und unterstützt Benutzerinteraktion und Datenverarbeitung. 4. PHP kann mit der Datenbank interagieren, die Einreichung von Prozessformularen und serverseitige Aufgaben ausführen.

PHP hat das Netzwerk in den letzten Jahrzehnten geprägt und wird weiterhin eine wichtige Rolle bei der Webentwicklung spielen. 1) PHP stammt aus dem Jahr 1994 und ist aufgrund seiner Benutzerfreundlichkeit und der nahtlosen Integration in MySQL die erste Wahl für Entwickler. 2) Zu den Kernfunktionen gehört das Generieren dynamischer Inhalte und die Integration in die Datenbank, sodass die Website in Echtzeit aktualisiert und auf personalisierte Weise angezeigt wird. 3) Die breite Anwendung und das Ökosystem von PHP hat seine langfristigen Auswirkungen angetrieben, steht jedoch auch mit Versionsaktualisierungen und Sicherheitsherausforderungen gegenüber. 4) Leistungsverbesserungen in den letzten Jahren, wie die Veröffentlichung von PHP7, ermöglichen es ihm, mit modernen Sprachen zu konkurrieren. 5) In Zukunft muss PHP sich mit neuen Herausforderungen wie Containerisierung und Microservices befassen, aber seine Flexibilität und die aktive Community machen es anpassungsfähig.

Zu den Kernvorteilen von PHP gehören einfacher Lernen, starke Unterstützung für Webentwicklung, reiche Bibliotheken und Rahmenbedingungen, hohe Leistung und Skalierbarkeit, plattformübergreifende Kompatibilität und Kosteneffizienz. 1) leicht zu erlernen und zu bedienen, geeignet für Anfänger; 2) gute Integration in Webserver und unterstützt mehrere Datenbanken. 3) leistungsstarke Frameworks wie Laravel; 4) hohe Leistung kann durch Optimierung erzielt werden; 5) mehrere Betriebssysteme unterstützen; 6) Open Source, um die Entwicklungskosten zu senken.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft