Heim >Backend-Entwicklung >C++ >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
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
#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; }
Number of segments where all elements are greater than X: 4
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.
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!