


Schreiben Sie mit C++ einen Code, um die Anzahl der Subarrays mit denselben Mindest- und Höchstwerten zu ermitteln
In diesem Artikel werden wir C++ verwenden, um das Problem zu lösen, die Anzahl der Unterarrays zu ermitteln, deren Maximal- und Minimalwert gleich sind. Hier ist ein Beispiel für dieses Problem –
Input : array = { 2, 3, 6, 6, 2, 4, 4, 4 } Output : 12 Explanation : {2}, {3}, {6}, {6}, {2}, {4}, {4}, {4}, {6,6}, {4,4}, {4,4} and { 4,4,4 } are the subarrays which can be formed with maximum and minimum element same. Input : array = { 3,3,1,5,1,2,2 } Output : 9 Explanation : {3}, {3}, {1}, {5}, {1}, {2}, {2}, {3,3} and {2,2} are the subarrays which can be formed with minimum and maximum are the same.
Wie man es löst
Als Beispiel können wir sagen, dass eine minimale Anzahl von Unterarrays gebildet werden kann, indem dieselben minimalen und maximalen Elemente verwendet werden, die der Größe des Arrays entsprechen. Die Anzahl der Subarrays kann größer sein, wenn die fortlaufenden Nummern gleich sind.
Wir können also die Methode verwenden, jedes Element zu durchlaufen und zu prüfen, ob seine fortlaufenden Nummern gleich sind. Wenn unterschiedliche Nummern gefunden werden, unterbrechen Sie die innere Schleife.
Jedes Mal, wenn die innere Schleife endet oder unterbrochen wird, wird die Ergebnisvariable erhöht und schließlich wird die Ergebnisvariable angezeigt.
p>
Beispiel
#include <bits/stdc++.h> using namespace std; int main(){ int a[ ] = { 2, 4, 5, 3, 3, 3 }; int n = sizeof(a) / sizeof(a[0]); int result = n, count =0; for (int i = 0; i < n; i++) { for (int j = i+1; j < n; j++) { if(a[i]==a[j]) count++; else break; } result+=count; count =0; } cout << "Number of subarrays having minimum and maximum elements same:" << result; return 0; }
Ausgabe
Number of subarrays having minimum and maximum elements same: 9 Time complexity = O(n<sup>2</sup>).
Erklärung des obigen Codes
In diesem Code verwenden wir die Variable n, um die Größe des Arrays zu speichern, Ergebnis = n, da mindestens n Unterarrays gebildet werden können und die gleiche Anzahl berechneter Zählung.
Die äußere Schleife wird verwendet, um jedes Element im Array zu verarbeiten. Die innere Schleife wird verwendet, um herauszufinden, wie viele aufeinanderfolgende identische Zahlen nach dem Indexelement vorhanden sind, und am Ende der inneren Schleife wird die Zählvariable zusammen mit der Ergebnisvariablen erhöht. Abschließend wird die in der Ergebnisvariablen gespeicherte Ausgabe angezeigt.
Effiziente Methode
Bei dieser Methode durchlaufen wir jedes Element und suchen für jedes Element, wie viele aufeinanderfolgende gleiche Zahlen es gibt. Für jede gefundene identische Zahl erhöhen wir die Zählvariable und wenn eine andere Zahl gefunden wird, ermitteln wir mithilfe der Formel "n = n*(n+1)/2", wie viele Unterarrays gebildet werden können. Erhöhen Sie die Ergebnisvariable.
Beispiel
#include <bits/stdc++.h> using namespace std; int main(){ int a[] = { 2, 4, 5, 3, 3, 3 }; int n = sizeof(a) / sizeof(a[0]); int result = 0; int count =1,temp=a[0]; for (int i = 1; i < n; i++) { if (temp==a[i]){ count++; } else{ temp=a[i]; result = result + (count*(count+1)/2); count=1; } } result = result + (count*(count+1)/2); cout << "Number of subarrays having minimum and maximum elements same:" << result; return 0; }
Ausgabe
Number of subarrays having minimum and maximum elements same: 9 Time complexity : O(n)
Obenige Codebeschreibung
In diesem Code speichern wir den 0. Index des Arrays in der temporären Variablen und starten die Schleife ab Index 1. Wir prüfen, ob die temporäre Variable mit dem Element am aktuellen Index übereinstimmt und erhöhen die Anzahl um 1 für die gleiche gefundene Zahl. Wenn die temporäre Variable nicht dem Indexelement entspricht, ermitteln wir die Kombination von Subarrays, die durch Zählen derselben Zahl abgeleitet werden können, und speichern das Ergebnis in der Ergebnisvariablen. Wir ändern den temporären Wert auf den aktuellen Index und setzen den Zähler auf 1 zurück. Abschließend zeigen wir die in der Ergebnisvariablen gespeicherte Antwort an.
Fazit
In diesem Artikel haben wir das Problem gelöst, die Anzahl der Subarrays zu ermitteln, deren minimale und maximale Elemente gleich sind. Wir haben auch ein C++-Programm zur Lösung dieses Problems und einen vollständigen Weg zur Lösung dieses Problems (normal und effizient) gelernt. Wir können das gleiche Programm in anderen Sprachen wie C, Java, Python und anderen Sprachen schreiben. Ich hoffe, dieser Artikel ist hilfreich für Sie.
Das obige ist der detaillierte Inhalt vonSchreiben Sie mit C++ einen Code, um die Anzahl der Subarrays mit denselben Mindest- und Höchstwerten zu ermitteln. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Verwenden Sie die Funktion math.Max, um den Maximalwert in einer Zahlenmenge zu ermitteln. In der Mathematik und Programmierung ist es häufig erforderlich, den Maximalwert in einer Zahlenmenge zu ermitteln. In der Go-Sprache können wir die Max-Funktion im Mathematikpaket verwenden, um diese Funktion zu erreichen. In diesem Artikel wird erläutert, wie Sie mit der Funktion math.Max den Maximalwert in einer Reihe von Zahlen ermitteln, und es werden entsprechende Codebeispiele bereitgestellt. Zuerst müssen wir das Mathematikpaket importieren. In der Go-Sprache können Sie das Schlüsselwort import verwenden, um ein Paket zu importieren, wie unten gezeigt: import"mat

Auf der Precision-Recall-Kurve werden dieselben Punkte mit unterschiedlichen Achsen aufgetragen. Warnung: Der erste rote Punkt links (0 % Rückruf, 100 % Präzision) entspricht 0 Regeln. Der zweite Punkt links ist die erste Regel und so weiter. Skope-rules verwendet ein Baummodell, um Regelkandidaten zu generieren. Erstellen Sie zunächst einige Entscheidungsbäume und betrachten Sie die Pfade vom Wurzelknoten zu internen Knoten oder Blattknoten als Regelkandidaten. Diese Kandidatenregeln werden dann nach einigen vordefinierten Kriterien wie Präzision und Rückruf gefiltert. Nur diejenigen, deren Präzision und Erinnerung über ihren Schwellenwerten liegen, werden beibehalten. Abschließend wird eine Ähnlichkeitsfilterung angewendet, um Regeln mit ausreichender Diversität auszuwählen. Im Allgemeinen werden Skope-Regeln angewendet, um die Ursache jedes einzelnen Problems herauszufinden

Die Out-of-Distribution (OOD)-Erkennung ist für den zuverlässigen Betrieb offener intelligenter Systeme von entscheidender Bedeutung, aktuelle objektorientierte Erkennungsmethoden leiden jedoch unter „Bewertungsinkonsistenzen“ (Bewertungsinkonsistenzen). Frühere Arbeiten OpenOODv1 vereinheitlichen die Auswertung der OOD-Erkennung, weisen jedoch immer noch Einschränkungen hinsichtlich Skalierbarkeit und Benutzerfreundlichkeit auf. Kürzlich hat das Entwicklungsteam erneut OpenOODv1.5 vorgeschlagen. Im Vergleich zur Vorgängerversion wurde die Bewertung der neuen OOD-Erkennungsmethode erheblich verbessert, um Genauigkeit, Standardisierung und Benutzerfreundlichkeit zu gewährleisten. Bildpapier: https://arxiv.org/abs/2306.09301OpenOODCodebase:htt

Wir alle kennen Zahlen, die nicht das Quadrat einer Zahl sind, wie zum Beispiel 2, 3, 5, 7, 8 usw. Es gibt N nichtquadratische Zahlen und es ist unmöglich, jede Zahl zu kennen. In diesem Artikel erklären wir alles über quadratlose oder nichtquadratische Zahlen und Möglichkeiten, die N-te nichtquadratische Zahl in C++ zu finden. N-te nichtquadratische Zahl Wenn eine Zahl das Quadrat einer ganzen Zahl ist, wird die Zahl als perfektes Quadrat bezeichnet. Einige Beispiele für perfekte Quadratzahlen sind -1isquadratvon14isquadratvon29isquadratvon316isquadratvon425isquadratvon5. Wenn eine Zahl nicht das Quadrat einer ganzen Zahl ist, wird die Zahl als nichtquadratisch bezeichnet. Die ersten 15 nichtquadratischen Zahlen sind beispielsweise -2,3,5,6,

In Java besteht eine Möglichkeit, Parameter zur Laufzeit zu übergeben, darin, die Befehlszeile oder das Terminal zu verwenden. Beim Abrufen dieser Werte für Befehlszeilenparameter müssen wir möglicherweise die Anzahl der vom Benutzer zur Laufzeit bereitgestellten Parameter ermitteln, was mithilfe des Längenattributs erreicht werden kann. Ziel dieses Artikels ist es, den Prozess des Übergebens und Abrufens einer vom Benutzer bereitgestellten Anzahl von Parametern mithilfe eines Beispielprogramms zu erläutern. Ermitteln Sie die Anzahl der vom Benutzer zur Laufzeit bereitgestellten Argumente. Bevor wir die Anzahl der Befehlszeilenargumente ermitteln, besteht unser erster Schritt darin, ein Programm zu erstellen, das dem Benutzer die Übergabe von Argumenten zur Laufzeit ermöglicht. String[]-Parameter Beim Schreiben von Java-Programmen stoßen wir häufig auf die Methode main(). Wenn die JVM diese Methode aufruft, beginnt die Ausführung der Java-Anwendung. Es wird mit einem Argument namens String[]args verwendet

In diesem Artikel lernen wir den Umkehralgorithmus kennen, um das gegebene Array um k Elemente nach rechts zu drehen, zum Beispiel −Input:arr[]={4,6,2,6,43,7,3,7}, k= 4Ausgabe:{43,7,3,7,4,6,2,6}Erklärung:Das Drehen jedes Elements des Arrays um 4 Elemente nach rechts ergibt {43,7,3,7,4,6,2,6}.Eingabe:arr[]= {8 ,5,8,2,1,4,9,3},k=3Ausgabe:{4,9,3,8,5,8,2,1} Finden Sie die Lösung

Ein Kreis ist eine geschlossene Figur. Alle Punkte auf einem Kreis haben den gleichen Abstand von einem Punkt innerhalb des Kreises. Der Mittelpunkt wird Kreismittelpunkt genannt. Der Abstand von einem Punkt zum Mittelpunkt eines Kreises wird Radius genannt. Die Fläche ist eine quantitative Darstellung der Dimensionsspanne einer geschlossenen Figur. Die Fläche eines Kreises ist die Fläche, die innerhalb der Abmessungen des Kreises eingeschlossen ist. Die Formel zur Berechnung der Fläche eines Kreises lautet Fläche=π*r*r. Um die Fläche zu berechnen, geben wir den Radius des Kreises als Eingabe ein. Wir verwenden die Formel zur Berechnung der Fläche, Algorithmus SCHRITT 1: Übernehmen Sie den Radius als Eingabe vom Benutzer mit stdin. SCHRITT 2 : Berechnen Sie die Fläche des Kreises mit Fläche=(

Linux-Befehle sind eines der unverzichtbaren Werkzeuge in der täglichen Arbeit von Systemadministratoren. Sie können uns bei der Erledigung verschiedener Systemverwaltungsaufgaben helfen. Bei Betriebs- und Wartungsarbeiten ist es manchmal notwendig, die Nummer eines bestimmten Prozesses im System zu überprüfen, um Probleme zu erkennen und rechtzeitig Anpassungen vorzunehmen. In diesem Artikel wird erläutert, wie Sie mithilfe von Linux-Befehlen die Anzahl der Telnet-Prozesse überprüfen. Lassen Sie uns gemeinsam lernen. In Linux-Systemen können wir den Befehl ps in Kombination mit dem Befehl grep verwenden, um die Anzahl der Telnet-Prozesse anzuzeigen. Zuerst müssen wir ein Terminal öffnen,
