Table des matières
Énoncé du problème
Exemple
Entrez
Sortie
Instructions
Méthode 1
Algorithme
Conclusion
Maison développement back-end C++ Modifiez la phrase en inversant l'ordre dans lequel tous les mots palindromes apparaissent

Modifiez la phrase en inversant l'ordre dans lequel tous les mots palindromes apparaissent

Aug 27, 2023 am 10:01 AM
修改 inverse palindrome

Modifiez la phrase en inversant lordre 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’
Copier après la connexion

Sortie

‘eye was gone to navjivan nayan hospital’
Copier après la connexion

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

Sortie

‘Hello, users! How are you?’
Copier après la connexion
Copier après la connexion

Instructions

Cela donne le même résultat car la chaîne ne contient aucun mot palindrome.

Entrez

‘Your eye is beautiful.’
Copier après la connexion
Copier après la connexion

Sortie

‘Your eye is beautiful.’
Copier après la connexion
Copier après la connexion

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

Sortie

eye was gone to navjivan nayan hospital
Copier après la connexion
  • 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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

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 !

Outils chauds

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)

Comment changer le nom personnel dans le groupe sur DingTalk_Comment modifier le nom personnel dans le groupe sur DingTalk Comment changer le nom personnel dans le groupe sur DingTalk_Comment modifier le nom personnel dans le groupe sur DingTalk Mar 29, 2024 pm 08:41 PM

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.

Comment changer le nom du dossier utilisateur : didacticiel Win11 Comment changer le nom du dossier utilisateur : didacticiel Win11 Jan 09, 2024 am 10:34 AM

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

Mar 22, 2024 pm 12:51 PM

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 ?

Guide pour modifier les coins de la fenêtre Win11 en coins arrondis Guide pour modifier les coins de la fenêtre Win11 en coins arrondis Dec 31, 2023 pm 08:35 PM

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

Conseils d'ajustement de la couleur d'arrière-plan PyCharm : maîtrisez-le rapidement ! Conseils d'ajustement de la couleur d'arrière-plan PyCharm : maîtrisez-le rapidement ! Feb 03, 2024 am 09:39 AM

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.

Des astuces pour modifier le temps de sommeil de Win10 révélées Des astuces pour modifier le temps de sommeil de Win10 révélées Mar 08, 2024 pm 06:39 PM

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

Emplacement et méthode de modification du mode d'alimentation Win11 Emplacement et méthode de modification du mode d'alimentation Win11 Dec 30, 2023 pm 05:25 PM

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.

Comment changer la couleur de la barre des tâches de Windows 10 Comment changer la couleur de la barre des tâches de Windows 10 Jan 01, 2024 pm 09:05 PM

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.

See all articles