Supposons que nous ayons une chaîne S contenant n lettres minuscules. Une chaîne est une chaîne strictement alphabétique si elle suit les règles suivantes -
Écrivez la chaîne vide dans T
À l'étape i, retirez les lettres latines ; la i-ème lettre minuscule du tableau et insérez-la dans Le côté gauche de la chaîne T ou le côté droit de la chaîne T (c est la ième lettre de l'alphabet latin).
Nous devons vérifier si S est strictement dans l'ordre alphabétique des chaînes.
Pour résoudre ce problème, nous devons manipuler les chaînes. Les chaînes dans les langages de programmation sont Un flux de caractères stocké dans un type de données spécifique de type tableau. multilingue Spécifiez des chaînes en tant que types de données spécifiques (par exemple Java, C++, Python et plusieurs autres langages) ; Spécifiez la chaîne sous forme de tableau de caractères (tel que C). Les chaînes sont utiles en programmation car elles Souvent le type de données préféré dans diverses applications et utilisé comme type de données d’entrée et sortie. Il existe diverses opérations sur les chaînes telles que la recherche de chaînes, la génération de sous-chaînes, Opération de suppression de chaîne, opération de traduction de chaîne, opération de remplacement de chaîne, chaîne Opération inverse et ainsi de suite. Consultez le lien ci-dessous pour voir comment les chaînes Utilisé en C/C++.
https://www.tutorialspoint.com/cplusplus/cpp_strings.htm
https://www.tutorialspoint.com/cprogramming/c_strings. htm
Donc, si l'entrée de notre problème est quelque chose comme S = "ihfcbadeg", alors la sortie sera True.
Pour résoudre ce problème, nous suivrons les étapes suivantes -
len := size of S for initialize i := len, when i >= 1, update (decrease i by 1), do: if S[l] is the i th character, then: (increase l by 1) otherwise when S[r] is the ith character, then: (decrease r by 1) Otherwise Come out from the loop if i is same as 0, then: return true Otherwise return false
Voyons l'implémentation suivante pour une meilleure compréhension -
#include <bits/stdc++.h> using namespace std; bool solve(string S){ int len = S.size(), l = 0, r = len - 1, i; for (i = len; i >= 1; i--){ if (S[l] - 'a' + 1 == i) l++; else if (S[r] - 'a' + 1 == i) r--; else break; } if (i == 0) return true; else return false; } int main(){ string S = "ihfcbadeg"; cout << solve(S) << endl; }
"ihfcbadeg"
1
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!