Table des matières
Exemple Exemple
Instructions
Méthode 2
Algorithme
Exemple
Sortie
Maison développement back-end C++ Modifie une chaîne en remplaçant toutes les occurrences d'un caractère donné par un caractère de remplacement spécifié

Modifie une chaîne en remplaçant toutes les occurrences d'un caractère donné par un caractère de remplacement spécifié

Sep 08, 2023 am 10:17 AM
字符替换 Remplacer le personnage Modification de chaîne

Modifie une chaîne en remplaçant toutes les occurrences dun caractère donné par un caractère de remplacement spécifié

Dans ce problème, nous devons remplacer les caractères d'une chaîne donnée en fonction des caractères donnés dans le tableau de paires de caractères. Nous discuterons de deux solutions différentes. Dans la première méthode, nous remplaçons chaque caractère en parcourant les caractères et les paires de caractères de la chaîne donnée.

Dans la deuxième méthode, nous utiliserons un tableau de longueur 26 pour stocker les caractères de remplacement associés à chaque caractère et modifier les caractères de la chaîne donnée.

Énoncé du problème - On nous donne une chaîne str contenant N caractères alphabétiques minuscules. De plus, nous recevons un tableau contenant des paires de caractères. Nous devons remplacer les caractères pairs[i][0] dans la chaîne donnée par pairs[i][1].

Exemple Exemple

Input –  str = "xyz", pairs = {{'x', 'a'}, {'y', 'b'},, {'z', 'c'}}
Copier après la connexion
Output – ‘abc’
Copier après la connexion

Instructions

Ici, « x » est remplacé par « a », « y » est remplacé par « b » et « z » est remplacé par « c ».

Input – str = "abderb", pairs = {{'a', 'e'}, {'b', 't'}, {'e', 'f'}, {'r', 's'}}
Copier après la connexion
Output – ‘etdfst’
Copier après la connexion

Instructions

Dans une chaîne, 'a' est remplacé par 'e', ​​'b' est remplacé par 't', 'e' est remplacé par 'f' et 'r' est remplacé par 's'.

Méthode 1

Dans cette méthode, nous allons parcourir chaque paire de caractères et remplacer les caractères correspondants dans la chaîne donnée. Nous avons besoin de deux boucles imbriquées pour parcourir la chaîne pour chaque boucle.

Algorithme

  • Étape 1 - Stockez la taille de la chaîne dans la variable 'N' et le tableau dans la variable 'M'.

  • Étape 2 - Stockez une copie de la chaîne dans la variable 'temp'.

  • Étape 3 - Utilisez une boucle for pour parcourir la liste des paires.

  • Étape 4 - Dans la boucle, stockez le premier caractère dans la variable « a » et le deuxième caractère dans la variable « b ».

  • Étape 5 - Parcourez la chaîne en utilisant des boucles imbriquées.

  • Étape 6 - Dans la boucle imbriquée, si le caractère actuel de la chaîne donnée est égal à 'a', remplacez le caractère actuel par 'b' dans la chaîne temporaire.

  • Étape 7 - Renvoyez la valeur de temp.

Exemple

#include <bits/stdc++.h>
using namespace std;
string replaceChars(string str, vector<vector<char>> pairs){
   // stror the size of the string and the array
   int N = str.size(), M = pairs.size();
   
   // Create a copy of the string str
   string temp = str;
   
   // Iterate over the array
   for (int x = 0; x < M; x++){
   
      // store the characters from the pair
      char a = pairs[x][0], b = pairs[x][1];
      
      // iterate over the string
      for (int y = 0; y < N; y++){
      
         // If the character is equal to a, then replace it with b
         if (str[y] == a){
            temp[y] = b;
         }
      }
   }
   return temp;
}
int main(){
   string str = "abderb";
   vector<vector<char>> pairs{{'a', 'e'},
      {'b', 't'},
      {'e', 'f'},
      {'r', 's'}};
   cout << "The string after replacing with the given characters is - " << replaceChars(str, pairs);
   return 0;
}
Copier après la connexion

Sortie

The string after replacing with the given characters is - etdfst	
Copier après la connexion

Complexité temporelle - O(N*M), où N est la longueur de la chaîne et M est la longueur du tableau de paires de caractères.

Complexité spatiale - O(N) car nous stockons la nouvelle chaîne dans la variable temp.

Méthode 2

Dans cette méthode, nous pouvons créer un tableau de taille 26. Nous pouvons alors stocker le caractère remplaçable à la position actuelle du caractère. Enfin, nous pouvons prendre les éléments remplaçables du tableau et mettre à jour chaque caractère de la chaîne.

Algorithme

  • Étape 1 - Obtenez la taille de la chaîne comme « N » et la taille du tableau comme « M ».

  • Étape 2 - Définissez les tableaux "initial" et "final" de longueur 26.

  • Étape 3 - Parcourez la chaîne et stockez str[Y] dans l'index initial et final du tableau de "str[Y] - a". Ici, str[Y] - 'a' donne un index compris entre 0 et 25 basé sur la valeur ASCII du caractère.

  • La raison pour laquelle str[Y] est stocké à la position 'str[Y] - a' dans le tableau initial et final est que si un caractère est présent dans la chaîne mais pas dans la paire de caractères, nous pouvons le conserver dans la chaîne finale constante. .

  • Étape 4 - Parcourez le tableau donné de paires de caractères. Dans la boucle, utilisez des boucles imbriquées pour parcourir le tableau initial. Si le premier caractère de la paire courante est égal au caractère du tableau "initial", les caractères du tableau "final" sont mis à jour avec le deuxième caractère de la paire courante.

  • Étape 5 - Définissez la variable 'result' et initialisez-la avec une chaîne vide.

  • Étape 6 - Parcourez la chaîne d'entrée, récupérez le caractère correspondant du caractère actuel à partir du tableau "final" et ajoutez-le à la chaîne "résultat".

  • Étape 7 - Renvoyez la chaîne « résultat ».

Exemple

#include <bits/stdc++.h>
using namespace std;
//  Function to replace the characters in the string
string replaceChars(string str, vector<vector<char>> pairs){

   // getting the size of the string and the vector
   int N = str.size(), M = pairs.size();
   
   // Declare two arrays of size 26
   char initial[26];
   char final[26];
   
   // Check all existing characters in the string
   for (int Y = 0; Y < N; Y++){
      initial[str[Y] - 'a'] = str[Y]; final[str[Y] - 'a'] = str[Y];
   }
   
   // Iterate over the range [0, M]
   for (int X = 0; X < M; X++){
   
      // get characters from the vector
      char a = pairs[X][0], b = pairs[X][1];
      
      // Iterate over the range [0, 26]
      for (int Y = 0; Y < 26; Y++){
      
         // If the character is the same as a, then replace it with b in the final array
         if (initial[Y] == a){
            final[Y] = b;
         }
      }
   }
   string result = "";
   
   // get the final string using the final array
   for (int Y = 0; Y < N; Y++){
      result += final[str[Y] - 'a'];
   }
   return result;
}
int main(){
   string str = "aberb";
   vector<vector<char>> pairs{{'a', 'e'},
      {'b', 't'},
      {'e', 'f'},
      {'r', 's'}};
   cout << "The string after replacing with the given characters is - " << replaceChars(str, pairs);
   return 0;
}
Copier après la connexion

Sortie

The string after replacing with the given characters is - etfst
Copier après la connexion

Complexité temporelle - O(N), comme boucle imbriquée, itération constante uniquement.

Complexité spatiale - O(1), car il utilise un tableau de longueur 26, qui est constante.

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

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

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 remplacer des caractères spécifiques dans une chaîne par d'autres caractères en PHP à l'aide d'expressions régulières Comment remplacer des caractères spécifiques dans une chaîne par d'autres caractères en PHP à l'aide d'expressions régulières Jun 23, 2023 am 09:46 AM

En PHP, les expressions régulières sont un outil très puissant qui peut nous aider à traiter et convertir facilement des chaînes. À l'aide d'expressions régulières, vous pouvez réaliser des opérations efficaces et flexibles sur les chaînes, telles que rechercher des chaînes avec des modèles spécifiques, remplacer les chaînes correspondantes, etc. Dans cet article, nous verrons comment utiliser des expressions régulières pour remplacer des caractères spécifiques d'une chaîne par d'autres caractères. Il s'agit d'un besoin courant, comme le remplacement des balises HTML dans un morceau de texte par du texte brut, ou le remplacement des tableaux Emoji dans un morceau de texte.

Programme Python : Couper la chaîne du côté droit de la chaîne Programme Python : Couper la chaîne du côté droit de la chaîne Sep 08, 2023 pm 06:21 PM

En Python, nous avons une fonction prédéfinie rstrip() pour supprimer les caractères du côté droit. Cela signifie que cela supprimera les espaces sur le côté droit de la chaîne. Prenons un exemple pour comprendre comment couper depuis le côté gauche d'une chaîne. Supprime la chaîne de droite LESS de la chaîne donnée "WIRELESS" et obtient la valeur résultante sous la forme "WIRE". Dans la chaîne donnée "kingdom", supprimez la chaîne dom sur le côté droit et obtenez la valeur de résultat comme "king". Syntaxe La syntaxe utilisée dans les exemples suivants est −isspace() qui est une méthode prédéfinie en Python pour autoriser les espaces, les nouvelles lignes ou les espaces dans les caractères. rstrip("paramètreasastri

Programme C++ : remplacer le caractère à un index spécifique Programme C++ : remplacer le caractère à un index spécifique Aug 25, 2023 pm 10:53 PM

Une chaîne est un ensemble de caractères. Nous pouvons également les appeler des tableaux de caractères. Considérons un tableau de caractères composé de chaînes avec des indices et des valeurs spécifiés. Parfois, nous pouvons apporter quelques modifications à la chaîne, l'une des modifications consiste à remplacer des caractères en fournissant un index spécifique. Dans cet article, nous verrons comment remplacer un caractère d'un index spécifique dans une chaîne en utilisant la syntaxe String_variable[&lt;givenindex&gt;]=&lt;newcharacter&gt; En C++, nous pouvons accéder aux caractères de chaîne en utilisant l'index. exister

Écrivez un programme en Java pour remplacer tous les caractères d'un fichier par '#' sauf des mots spécifiques Écrivez un programme en Java pour remplacer tous les caractères d'un fichier par '#' sauf des mots spécifiques Sep 13, 2023 am 08:57 AM

La méthode split() de la classe String. Divisez la chaîne actuelle en correspondances de l’expression régulière donnée. Le tableau renvoyé par cette méthode contient chaque sous-chaîne de cette chaîne qui se termine par une autre sous-chaîne correspondant à l'expression donnée ou se terminant à la fin de la chaîne. La méthode replaceAll() de la classe String accepte deux chaînes représentant des expressions régulières et une chaîne de remplacement et remplace la valeur correspondante par la chaîne donnée. Remplacez tous les caractères du fichier, à l'exception de mots spécifiques, par "#" (sens unique) - lisez le contenu du fichier dans une chaîne. Créez un objet StringBuffer vide. Utilisez la méthode split() pour diviser la chaîne obtenue en un tableau String. partout

Programme Python pour remplacer les caractères à un index spécifique Programme Python pour remplacer les caractères à un index spécifique Aug 19, 2023 am 09:41 AM

En Python, nous pouvons facilement remplacer un caractère à un index spécifique en convertissant la chaîne en une liste de caractères, à l'aide de la méthode list(). Nous modifions ensuite le caractère à l'index souhaité et utilisons la méthode join() pour reconvertir la liste en chaîne. Nous pouvons également remplacer des caractères à des index spécifiques à l’aide des méthodes slice et replace. Dans cet article, nous verrons un exemple de remplacement d'un caractère à un index spécifique en Python à l'aide de la méthode list et join, de la méthode slicing et de la méthode replace. Méthode 1 : utilisez la syntaxe des méthodes list() et join(). Méthode list() list(sequence) La méthode list() accepte une séquence (telle qu'une chaîne, un tuple ou un ensemble) comme paramètre et renvoie un paramètre spécifique.

Modifie une chaîne en remplaçant toutes les occurrences d'un caractère donné par un caractère de remplacement spécifié Modifie une chaîne en remplaçant toutes les occurrences d'un caractère donné par un caractère de remplacement spécifié Sep 08, 2023 am 10:17 AM

Dans ce problème, nous devons remplacer les caractères d'une chaîne donnée en fonction des caractères donnés dans le tableau de paires de caractères. Nous discuterons de deux solutions différentes. Dans la première méthode, nous remplaçons chaque caractère en parcourant les caractères et les paires de caractères de la chaîne donnée. Dans la deuxième méthode, nous utiliserons un tableau de longueur 26 pour stocker les caractères de remplacement associés à chaque caractère et modifier les caractères de la chaîne donnée. Énoncé du problème - On nous donne une chaîne str contenant N caractères alphabétiques minuscules. De plus, nous recevons un tableau contenant des paires de caractères. Nous devons remplacer les caractères pairs[i][0] dans la chaîne donnée par pairs[i][1]. ExempleInput–str="xyz"

Comment utiliser le traitement de formulaire Vue pour implémenter le remplacement de caractères dans les champs de formulaire Comment utiliser le traitement de formulaire Vue pour implémenter le remplacement de caractères dans les champs de formulaire Aug 10, 2023 pm 05:37 PM

Comment utiliser le traitement des formulaires Vue pour implémenter le remplacement de caractères dans les champs de formulaire Lors du développement d'applications Web, les formulaires sont un élément essentiel. Dans certains scénarios, nous devrons peut-être remplacer les caractères saisis par l'utilisateur pour répondre aux exigences de format des données ou implémenter certaines fonctions. En tant que framework frontal populaire, Vue.js offre de puissantes capacités de liaison et de traitement des données, rendant le traitement des formulaires plus pratique. Cet article expliquera comment utiliser Vue.js pour implémenter la fonction de remplacement de caractères des champs de formulaire et fournira des exemples de code. d'abord,

Minimiser le remplacement d'un caractère par la lettre la plus proche, faisant de la chaîne un palindrome Minimiser le remplacement d'un caractère par la lettre la plus proche, faisant de la chaîne un palindrome Sep 15, 2023 pm 12:25 PM

Dans cet article, nous aborderons un problème algorithmique intéressant : "Minimiser le remplacement d'un caractère par son alphabet le plus proche pour créer un palindrome de chaîne." Ce problème est intéressant car il implique la manipulation de chaînes, la vérification du palindrome et le concept de valeurs ASCII de caractères. . Approfondissons cette question. Énoncé du problème Étant donné une chaîne, la tâche consiste à la convertir en palindrome avec un nombre minimum de substitutions. Ces substitutions sont réalisées en remplaçant les caractères par leur alphabet le plus proche. Questions de compréhension Un palindrome est une séquence de mots, d'expressions, de chiffres ou d'autres caractères qui est lue à l'envers comme à l'avant. Notre objectif est de minimiser le nombre total de substitutions nécessaires pour convertir une chaîne donnée en palindrome. Par exemple, considérons la chaîne « abc ». Pour le convertir en palindrome, nous pouvons convertir "

See all articles