Maison > développement back-end > C++ > le corps du texte

Écrit en C++, trouvez le nombre de segments où tous les éléments sont supérieurs à X

王林
Libérer: 2023-09-10 09:29:13
avant
616 Les gens l'ont consulté

É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
Copier après la connexion

Façon de trouver la solution

Manière naïve

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 à ;

Exemple

#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;
}
Copier après la connexion

Sortie

Number of segments where all elements are greater than X: 4
Copier après la connexion

Description du programme ci-dessus

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.

Conclusion h2>

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!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal