


Modifiez la phrase en inversant l'ordre dans lequel tous les mots palindromes apparaissent
Énoncé du problème
Nous recevons une chaîne str contenant N mots au total. Nous devons trouver tous les mots palindromes dans une chaîne donnée et créer une nouvelle chaîne en inversant l’ordre de tous les mots palindromes.
Exemple
Entrez
str = ‘nayan was gone to navjivan eye hospital’
Sortie
‘eye was gone to navjivan nayan hospital’
Instructions
La chaîne contient trois palindromes : nayan, navjivan et eye. Nous avons inversé l’ordre des trois mots et gardé tous les autres mots identiques.
Entrez
‘Hello, users! How are you?’
Sortie
‘Hello, users! How are you?’
Instructions
Cela donne le même résultat car la chaîne ne contient aucun mot palindrome.
Entrez
‘Your eye is beautiful.’
Sortie
‘Your eye is beautiful.’
Instructions
Il donne le même résultat qu’une chaîne contenant un seul mot palindrome.
Méthode 1
Dans cette méthode, nous divisons d'abord la chaîne en mots. Après cela, nous filtrerons tous les mots palindromes. Ensuite, nous inversons l’ordre de tous les palindromes.
Enfin, nous parcourons la chaîne et si le mot actuel est un mot palindrome, nous le remplaçons par un autre mot palindrome dans l'ordre inverse.
Algorithme
Étape 1 - Exécutez la fonction reversePlaindromic() en passant une chaîne comme argument qui renvoie la chaîne résultat.
Étape 2 - Créez la fonction isPalindrome() pour vérifier si un mot est un palindrome.
Étape 2.1 - Initialisez « start » à 0 et « end » à la longueur de la chaîne – 1.
Étape 2.2 - Utilisez une boucle while pour parcourir la chaîne, en comparant le premier et le dernier caractères, en comparant le deuxième et l'avant-dernier caractères, et ainsi de suite. Si des caractères ne correspondent pas, false est renvoyé car il ne s'agit pas d'une chaîne palindrome.
Étape 2.3 - Renvoie vrai si la chaîne est un palindrome.
Étape 3 - Créez un vecteur pour stocker les mots de la chaîne. De plus, définissez la variable "temp" pour stocker le mot.
Étape 4 - Parcourez la chaîne à l'aide d'une boucle for et ajoutez le caractère à la valeur temporaire s'il n'est pas égal à un espace (« »). Sinon, transférez la valeur de temp vers le vecteur allWords.
Étape 5 - Parcourez le vecteur allWords et vérifiez si le mot actuel est un palindrome à l'aide de la fonction isPalindrome(). Si c'est le cas, poussez le mot dans le vecteur "palindromWords".
Étape 6 - Inversez la liste "palindromWords".
Étape 7 - Maintenant, parcourez à nouveau le vecteur "allWords" et vérifiez si le mot actuel est un palindrome. Si tel est le cas, remplacez-le par un mot respecté de la liste "palindromWords".
Étape 8 - Parcourez la liste "palindromWords" et créez une chaîne en ajoutant tous les mots à la variable de résultat. Renvoie la chaîne de résultat.
Exemple
#include <iostream> #include <vector> #include <algorithm> using namespace std; // Function to check if a string is a palindrome bool isPalindrome(string str){ int start = 0; int end = str.length() - 1; // iterate till start < end while (start < end){ // check if the character at the start and end are not the same and return false, else increment start and decrement end if (str[start] != str[end]){ return false; } else { start++; end--; } } return true; } string reversePalindromic(string str) { // vectors to store all words and palindromic words vector<string> palindromWords; vector<string> allWords; // variable to store single word string temp = ""; for (char x : str) { // If the current character is not space, then append it to temp; else, add temp to palindrome words and make temp NULL if (x != ' ') { temp += x; } else { allWords.push_back(temp); temp = ""; } } // push the last word to all words allWords.push_back(temp); // fetch all palindromic words for (string x : allWords){ if (isPalindrome(x)){ // Update newlist palindromWords.push_back(x); } } // Reverse the vector reverse(palindromWords.begin(), palindromWords.end()); int k = 0; for (int i = 0; i < allWords.size(); i++){ // If the current word is a palindrome, push it to palindrome words if (isPalindrome(allWords[i])){ allWords[i] = palindromWords[k]; k++; } } string result = ""; for (string x : allWords) { result += x; result += " "; } return result; } int main(){ string str = "nayan was gone to navjivan eye hospital"; string reverse = reversePalindromic(str); cout << reverse << endl; return 0; }
Sortie
eye was gone to navjivan nayan hospital
Complexité temporelle - O(N) puisque nous parcourons des chaînes de longueur N.
Complexité spatiale - O(K) car nous utilisons une liste pour stocker des mots, où k est le nombre total de mots dans la chaîne.
Conclusion
Nous avons appris à prendre tous les mots palindromes d'une phrase et à les ajouter dans l'ordre inverse. Dans le code ci-dessus, le programmeur peut essayer de modifier l’implémentation de la fonction isPalindrome() pour apprendre quelque chose de nouveau.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds

1. Ouvrez d’abord DingTalk. 2. Ouvrez la discussion de groupe et cliquez sur les trois points dans le coin supérieur droit. 3. Trouvez mon pseudo dans ce groupe. 4. Cliquez pour entrer pour modifier et enregistrer.

Certains jeux seront automatiquement installés dans le dossier utilisateur et nécessiteront un dossier anglais. Cependant, de nombreux amis ne savent pas comment modifier le nom du dossier utilisateur dans Win11. En fait, il suffit de modifier le nom d'utilisateur. Modifier le nom du dossier utilisateur dans win11 : La première étape consiste à appuyer sur la combinaison de touches "Win+R" du clavier. Dans la deuxième étape, saisissez « gpedit.msc » et appuyez sur Entrée pour ouvrir l'éditeur de stratégie de groupe. Étape 3 : Développez « Paramètres de sécurité » sous « Paramètres Windows ». Étape 4 : Ouvrez « Options de sécurité » dans « Politiques locales ». Étape 5 : Double-cliquez pour ouvrir la stratégie « Compte : Renommer le compte d'administrateur système » sur la droite. Étape 6 : Entrez le nom du dossier que vous souhaitez modifier ci-dessous et cliquez sur « OK » pour enregistrer. Modifier le dossier utilisateur

La certification Douyin Blue V est la certification officielle d'une entreprise ou d'une marque sur la plateforme Douyin, qui contribue à renforcer l'image et la crédibilité de la marque. Avec l'ajustement de la stratégie de développement de l'entreprise ou la mise à jour de l'image de marque, l'entreprise souhaitera peut-être changer le nom de la certification Douyin Blue V. Alors, Douyin Blue V peut-il changer de nom ? La réponse est oui. Cet article présentera en détail les étapes pour modifier le nom du compte de l'entreprise Douyin Blue V. 1. Douyin Blue V peut-il changer de nom ? Vous pouvez changer le nom du compte Douyin Blue V. Selon la réglementation officielle de Douyin, les comptes d'entreprise certifiés Blue V peuvent demander à changer de nom de compte après avoir rempli certaines conditions. D'une manière générale, les entreprises doivent fournir des documents justificatifs pertinents, tels que des licences commerciales, des certificats de code d'organisation, etc., pour prouver la légalité et la nécessité de changer de nom. 2. Quelles sont les étapes pour modifier le nom du compte d'entreprise Douyin Blue V ?

Après avoir mis à jour le système Win11, de nombreux amis ont découvert que la fenêtre de l'interface Win11 adopte un nouveau design aux coins arrondis. Mais certaines personnes n'aiment pas ce design aux coins arrondis et souhaitent le modifier par rapport à l'interface précédente, mais elles ne savent pas comment le modifier. Jetons un coup d'œil ci-dessous. Comment modifier les coins arrondis dans Win11 1. La conception des coins arrondis de Win11 est un paramètre système intégré qui ne peut pas être modifié pour le moment. 2. Donc, si vous n'aimez pas utiliser la conception aux coins arrondis de Win11, vous pouvez attendre que Microsoft fournisse une méthode de modification. 3. Si vous n'y êtes vraiment pas habitué, vous pouvez également choisir de revenir au système win10 précédent. 4. Si vous ne savez pas comment revenir en arrière, vous pouvez consulter les didacticiels fournis sur ce site. 5. Si vous ne pouvez pas revenir en arrière en utilisant le didacticiel ci-dessus, vous pouvez toujours

Pour maîtriser rapidement les compétences nécessaires pour modifier la couleur d'arrière-plan de PyCharm, vous avez besoin d'exemples de code spécifiques. Ces dernières années, le langage Python est devenu de plus en plus populaire dans le domaine du développement de programmes, et PyCharm en tant qu'environnement de développement intégré (IDE). , est apprécié et utilisé par la majorité des développeurs. Dans PyCharm, certains développeurs personnalisent souvent l'interface IDE, notamment en modifiant la couleur d'arrière-plan. Cet article présentera la technique de modification de la couleur d'arrière-plan de PyCharm et donnera des exemples de code spécifiques pour aider les lecteurs à maîtriser rapidement cette compétence.

Conseils de modification du temps de veille Win10 révélés En tant que l'un des systèmes d'exploitation actuellement largement utilisés, Windows 10 dispose d'une fonction de veille pour aider les utilisateurs à économiser de l'énergie et à protéger l'écran lorsqu'ils n'utilisent pas l'ordinateur. Cependant, parfois le temps de veille par défaut ne répond pas aux besoins des utilisateurs, il est donc particulièrement important de savoir comment modifier le temps de veille de Win10. Cet article dévoilera les astuces pour modifier le temps de veille de Win10, vous permettant de personnaliser facilement les paramètres de veille du système. 1. Modifiez le temps de veille de Win10 via « Paramètres ». Tout d'abord, la solution la plus simple

Dans le système win11, nous pouvons réduire la consommation de notre batterie ou améliorer les performances de notre système en modifiant le mode d'alimentation. La méthode de réglage est très simple, il suffit de trouver l'option d'alimentation. Suivons l'éditeur pour jeter un œil au processus de fonctionnement spécifique. Comment modifier le mode d'alimentation dans Win11 1. Cliquez d'abord sur le bouton le plus à gauche de la barre des tâches pour ouvrir le menu Démarrer. 2. Ensuite, recherchez et ouvrez « Panneau de configuration » au-dessus du menu Démarrer 3. Dans le panneau de configuration, vous pouvez trouver « Matériel et audio » 4. Entrez Matériel et audio, cliquez sur « Choisir un plan d'alimentation » sous Options d'alimentation 5. Puis dans Vous pouvez modifier le mode d'alimentation. Vous pouvez sélectionner le mode équilibré et économe en énergie ou étendre le plan supplémentaire caché et sélectionner le mode haute performance.

Il est très simple de modifier la couleur de la barre des tâches Win10, mais de nombreux utilisateurs constatent qu'ils ne peuvent pas la définir. En fait, c'est très simple. Choisissez simplement votre couleur préférée dans la personnalisation de l'ordinateur. Si vous ne pouvez pas changer la couleur, faites attention. aux paramètres détaillés. Comment changer la couleur de la barre des tâches win10 Étape 1 : Faites un clic droit sur le bureau - cliquez sur Personnaliser Étape 2 : Personnalisez la zone de couleur Étape 3 : Choisissez votre couleur préférée PS : Si vous ne pouvez pas changer la couleur, vous pouvez cliquer sur Couleur -> Sélectionnez Couleur -> Personnaliser-> Mode Windows par défaut, sélectionnez la couleur sombre.
