Table des matières
Énoncé du problème
Maison développement back-end C++ Vérifie si les caractères d'une chaîne peuvent devenir non décroissants en remplaçant '_'

Vérifie si les caractères d'une chaîne peuvent devenir non décroissants en remplaçant '_'

Sep 13, 2023 pm 08:41 PM
字符串 字符 替换

Vérifie si les caractères dune chaîne peuvent devenir non décroissants en remplaçant _

Dans cet article, nous aborderons un problème intéressant dans le domaine de la manipulation de chaînes : comment vérifier si les caractères d'une chaîne donnée peuvent être changés dans un ordre non décroissant en remplaçant le caractère "?" Cette question vous offre une excellente opportunité de mettre en pratique vos compétences en manipulation de chaînes et en vérification de conditions en C++.

Énoncé du problème

Étant donné une chaîne composée de caractères alphabétiques et de points d'interrogation (?), déterminez si les caractères peuvent être rendus non décroissants en remplaçant les « ? ».

La condition non décroissante signifie que pour deux caractères adjacents dans la chaîne, la valeur ASCII du deuxième caractère n'est pas inférieure à la valeur ASCII du premier.

Méthode

Nous utiliserons une méthode simple pour résoudre ce problème −

  • Parcourez la chaîne de gauche à droite.

  • Si un '?' est rencontré, remplacez-le par le caractère qui l'a précédé (sauf s'il s'agit du premier caractère, auquel cas remplacez-le par 'a').

  • Enfin, vérifiez si la chaîne résultante n'est pas décroissante.

Exemple

#include<bits/stdc++.h>
using namespace std;

bool checkNonDecreasing(string s) {
   int n = s.size();
   if (s[0] == '?') s[0] = 'a';
   for (int i = 1; i < n; i++) {
      if (s[i] == '?') s[i] = s[i-1];
      if (s[i] < s[i-1]) return false;
   }
   return true;
}
int main() {
   string s = "ac?b";
   bool result = checkNonDecreasing(s);
   if(result)
      cout << "Yes, the string can be made non-decreasing by replacing '?'s.\n";
   else
      cout << "No, the string cannot be made non-decreasing by replacing '?'s.\n";
   return 0;
}
Copier après la connexion

Sortie

No, the string cannot be made non-decreasing by replacing '?'s.
Copier après la connexion

La fonction checkNonDecreasing prend en entrée une chaîne s et renvoie une valeur booléenne indiquant si les caractères de la chaîne peuvent être rendus non décroissants en remplaçant les '?'.

Dans ce cas de test, la chaîne d'entrée est "ac?b". La fonction checkNonDecreasing est appelée avec cette chaîne comme argument, et le résultat est une valeur booléenne qui est imprimée.

Conclusion

Vérifier si un caractère dans une chaîne peut être rendu non décroissant en remplaçant "?" est une question qui teste votre compréhension des opérations sur les chaînes et des valeurs ASCII. En pratiquant des questions comme celle-ci, vous pouvez renforcer votre capacité à gérer les chaînes en C++.

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!

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

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Explication détaillée de la méthode de conversion du type int en chaîne en PHP Explication détaillée de la méthode de conversion du type int en chaîne en PHP Mar 26, 2024 am 11:45 AM

Explication détaillée de la méthode de conversion du type int en chaîne en PHP

Comment déterminer si une chaîne Golang se termine par un caractère spécifié Comment déterminer si une chaîne Golang se termine par un caractère spécifié Mar 12, 2024 pm 04:48 PM

Comment déterminer si une chaîne Golang se termine par un caractère spécifié

Comment vérifier si une chaîne commence par un caractère spécifique en Golang ? Comment vérifier si une chaîne commence par un caractère spécifique en Golang ? Mar 12, 2024 pm 09:42 PM

Comment vérifier si une chaîne commence par un caractère spécifique en Golang ?

Comment répéter une chaîne dans le didacticiel de chaîne répétitive python_python Comment répéter une chaîne dans le didacticiel de chaîne répétitive python_python Apr 02, 2024 pm 03:58 PM

Comment répéter une chaîne dans le didacticiel de chaîne répétitive python_python

Comment résoudre le problème des caractères chinois tronqués lors de la conversion d'hexadécimaux en chaîne en PHP Comment résoudre le problème des caractères chinois tronqués lors de la conversion d'hexadécimaux en chaîne en PHP Mar 04, 2024 am 09:36 AM

Comment résoudre le problème des caractères chinois tronqués lors de la conversion d'hexadécimaux en chaîne en PHP

Manipulation de chaînes PHP : un moyen pratique de supprimer efficacement les espaces Manipulation de chaînes PHP : un moyen pratique de supprimer efficacement les espaces Mar 24, 2024 am 11:45 AM

Manipulation de chaînes PHP : un moyen pratique de supprimer efficacement les espaces

Techniques PHP pour supprimer les deux derniers caractères d'une chaîne Techniques PHP pour supprimer les deux derniers caractères d'une chaîne Mar 23, 2024 pm 12:18 PM

Techniques PHP pour supprimer les deux derniers caractères d'une chaîne

Comment convertir une chaîne en float en PHP Comment convertir une chaîne en float en PHP Mar 27, 2024 pm 12:48 PM

Comment convertir une chaîne en float en PHP

See all articles