Heim > Backend-Entwicklung > C++ > Hauptteil

Ermitteln Sie in C++ die Anzahl der Segmente, in denen alle Elemente größer als X sind

王林
Freigeben: 2023-09-10 09:29:13
nach vorne
617 Leute haben es durchsucht

Ermitteln Sie in C++ die Anzahl der Segmente, in denen alle Elemente größer als X sind

In diesem Artikel müssen wir die Anzahl der Segmente oder Unterarrays in einer bestimmten Sequenz ermitteln, die größer als eine bestimmte Zahl X sind.

Wir können überlappende Segmente nur einmal zählen, zwei benachbarte Elemente oder Segmente sollten nicht separat gezählt werden. Hier ist also das grundlegende Beispiel des gegebenen Problems:

Input : arr[ ] = { 9, 6, 7, 11, 5, 7, 8, 10, 3}, X = 7
Output : 3
Explanation : { 9 }, { 11 } and { 8, 10 } are the segments greater than 7

Input : arr[ ] = { 9, 6, 12, 2, 11, 14, 8, 14 }, X = 8
Output : 4
Explanation : { 9 }, { 12 }, { 11, 14 } and { 14 } are the segments greater than 8
Nach dem Login kopieren

Weg zur Lösung

Naiver Weg

In diesem Problem initialisieren wir die Variable state mit 0 und beginnen mit der Verarbeitung des angegebenen Arrays und wenn wir ein Größer-als finden Wenn ein Element von X gefunden wird, ändern Sie den Status auf 1 und fahren Sie mit der Verarbeitung von Elementen fort, wenn eine Zahl kleiner oder gleich ist

Beispiel

#include <bits/stdc++.h>
using namespace std;
int main (){
    int a[] = { 9, 6, 12, 2, 11, 14, 8, 14 };
    int n = sizeof (a) / sizeof (a[0]);
    int X = 8;
    int state = 0;
    int count = 0;
    // traverse the array
    for (int i = 0; i < n; i++){
        // checking whether element is greater than X
        if (a[i] > X){
           state = 1;
        }
        else{
           // if flag is true
           if (state)
               count += 1;
            state = 0;
        }
    }
    // checking for the last segment
    if (state)
        count += 1;
    cout << "Number of segments where all elements are greater than X: " << count;
    return 0;
}
Nach dem Login kopieren

Ausgabe

Number of segments where all elements are greater than X: 4
Nach dem Login kopieren

Beschreibung des obigen Programms

Im obigen Programm verwenden wir den Status als Schalter und setzen ihn auf 1, wenn eine Zahl größer als X gefunden wird, und setzen ihn, wenn eine Zahl größer ist als Finden Sie eine Zahl, die kleiner oder gleich ist Drucken Sie abschließend die in der Zählung gespeicherten Ergebnisse aus.

Fazit h2>

In diesem Artikel haben wir das Problem gelöst, die Anzahl der Segmente zu ermitteln, bei denen alle Elemente größer als X sind, indem wir eine Methode angewendet haben, mit der der Status immer dann auf 1 und 0 gesetzt wird, wenn ein Segment gefunden wird. Wir können dieses Programm in jeder anderen Programmiersprache wie C, Java, Python usw. schreiben.

Das obige ist der detaillierte Inhalt vonErmitteln Sie in C++ die Anzahl der Segmente, in denen alle Elemente größer als X sind. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
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