Maison > Article > développement back-end > Écrit en C++, trouvez le nombre de segments où tous les éléments sont supérieurs à X
Dans cet article, nous devons trouver le nombre de segments ou de sous-tableaux dans une séquence donnée qui sont supérieurs à un nombre X donné.
Nous ne pouvons compter qu'une seule fois les segments qui se chevauchent, deux éléments ou segments adjacents ne doivent pas être comptés séparément. Voici donc l'exemple de base du problème donné −
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
Dans ce problème, nous initialisons la variable state avec 0 et commençons à traiter le tableau donné et lorsque nous trouvons un supérieur à Lorsqu'un élément de X est trouvé, changez l'état à 1 et continuez le traitement des éléments lorsqu'un nombre est inférieur ou égal à ;
#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
Dans le programme ci-dessus, nous utilisons l'état comme commutateur et le réglons sur 1 lorsqu'un nombre supérieur à X est trouvé et le réglons lorsqu'un nombre supérieur que Trouver un nombre inférieur ou égal à Enfin, imprimez les résultats stockés dans le décompte.
Dans cet article, nous avons résolu le problème de trouver le nombre de segments où tous les éléments sont supérieurs à X en appliquant une méthode permettant de définir l'état à 1 et 0 chaque fois qu'un segment est trouvé. Nous pouvons écrire ce programme dans n'importe quel autre langage de programmation comme C, Java, Python, etc.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!