Inhaltsverzeichnis
Wie man es löst
Beispiel
Ausgabe
Erklärung des obigen Codes
Effiziente Methode
Obenige Codebeschreibung
Fazit
Heim Backend-Entwicklung C++ Schreiben Sie mit C++ einen Code, um die Anzahl der Subarrays mit denselben Mindest- und Höchstwerten zu ermitteln

Schreiben Sie mit C++ einen Code, um die Anzahl der Subarrays mit denselben Mindest- und Höchstwerten zu ermitteln

Aug 25, 2023 pm 11:33 PM
数量 最大值 最小值 c编程 子数组

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.
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

Ausgabe

Number of subarrays having minimum and maximum elements same: 9
Time complexity = O(n<sup>2</sup>).
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

Ausgabe

Number of subarrays having minimum and maximum elements same: 9
Time complexity : O(n)
Nach dem Login kopieren

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!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Verwenden Sie die Funktion math.Max, um den Maximalwert in einer Reihe von Zahlen zu ermitteln Verwenden Sie die Funktion math.Max, um den Maximalwert in einer Reihe von Zahlen zu ermitteln Jul 24, 2023 pm 01:24 PM

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

Erweitern Sie Ihr Wissen! Maschinelles Lernen mit logischen Regeln Erweitern Sie Ihr Wissen! Maschinelles Lernen mit logischen Regeln Apr 01, 2023 pm 10:07 PM

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

OpenOOD-Update v1.5: umfassende und genaue Bibliothek und Testplattform zur Erkennung von Out-of-Distribution-Codes, die Online-Rankings und One-Click-Tests unterstützt OpenOOD-Update v1.5: umfassende und genaue Bibliothek und Testplattform zur Erkennung von Out-of-Distribution-Codes, die Online-Rankings und One-Click-Tests unterstützt Jul 03, 2023 pm 04:41 PM

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

Verwenden Sie C++, um Code zu schreiben, um die N-te nichtquadratische Zahl zu finden Verwenden Sie C++, um Code zu schreiben, um die N-te nichtquadratische Zahl zu finden Aug 30, 2023 pm 10:41 PM

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,

Wie finde ich die Anzahl der von der Laufzeit in Java bereitgestellten Parameter? Wie finde ich die Anzahl der von der Laufzeit in Java bereitgestellten Parameter? Sep 23, 2023 pm 01:13 PM

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

Inversionsalgorithmus für die Rechtsdrehung eines Arrays, geschrieben in C++ Inversionsalgorithmus für die Rechtsdrehung eines Arrays, geschrieben in C++ Sep 08, 2023 pm 08:17 PM

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

Ermitteln Sie in der C-Programmierung die Fläche eines Kreises Ermitteln Sie in der C-Programmierung die Fläche eines Kreises Aug 25, 2023 pm 10:57 PM

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-Befehl: So überprüfen Sie die Anzahl der Telnet-Prozesse Linux-Befehl: So überprüfen Sie die Anzahl der Telnet-Prozesse Mar 01, 2024 am 11:39 AM

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,

See all articles