


Réorganiser les caractères pour former un palindrome (si possible) en C++
Nous recevons une chaîne « str » d'une longueur donnée. La tâche consiste à réorganiser les caractères afin que la sortie devienne une chaîne palindrome sans ajouter ni supprimer de caractères de la chaîne d'entrée donnée. Une chaîne palindrome, c'est lorsque les caractères sont disposés de telle manière qu'ils sonnent de la même manière du début à la fin.
Regardons différents scénarios d'entrée et de sortie pour cela -
Input - String str = "itnin"
Output - Si possible, le réarrangement des caractères pour former une chaîne palindrome est : nitin
Explication - On nous donne une variable de type string, disons str. Nous allons maintenant réorganiser les caractères de la chaîne d'entrée pour en faire une chaîne palindrome sinon
Il renverra « NON POSSIBLE » si possible. Par conséquent, la sortie donnée par la chaîne d’entrée est « nitin ».Input - String str = "baaaba"
Output - Le résultat d'un éventuel réarrangement de caractères pour former un palindrome est : aabbaa
Explication - On nous donne une variable de type string, disons str. Nous allons maintenant réorganiser les caractères de la chaîne d'entrée pour en faire une chaîne palindrome et renvoyer 'NON POSSIBLE' si cela n'est pas possible. Par conséquent, la sortie donnée par la chaîne d’entrée est « aabbaa ».
La méthode utilisée dans le programme ci-dessous est la suivante
Entrez une variable de type chaîne, en supposant qu'elle soit str, calculez la taille de la chaîne et stockez-la dans une variable nommée longueur.
Passez les données à la fonction Rearrangement(str, length).
-
À l'intérieur de la fonction Rearrangement(arr, length)
créez une variable de type unordered_map nommée 'um', qui stocke les paires clé-valeur de types char et entier.
Déclarez un total de variable de type entier et définissez-le sur 0.
Créez une variable de type caractère 'ch' et des variables de type chaîne str_1 et str_2.
Commencez par une boucle de i à 0 jusqu'à ce que i soit inférieur à la longueur. Dans la boucle, définissez um[str[i]] en incrémentant la valeur 1.
Démarrez la boucle FOR pour parcourir la carte 'um'. À l'intérieur de la boucle, vérifiez SI it.second % 2 n'est pas égal à 0, puis augmentez le total de 1 et définissez ch dessus.first.
Vérifiez SI le total est supérieur à 1 ou total = 1 et longueur % 2 = 0, alors 0 est renvoyé.
Démarrez la boucle FOR pour parcourir la carte 'um'. Dans la boucle, str(it.second / 2, it.first) est défini sur str, str_1 est défini sur str_1 + str et str_2 est défini sur str + str_2.
Vérifiez SI total = 1, puis retournez str_1 + ch + str_2. Sinon, str_1 + str_2 est renvoyé.
Imprimez les résultats.
Exemple
#include <bits/stdc++.h> using namespace std; string Rearrangement(string str, int length){ unordered_map<char, int> um; int total = 0; char ch; string str_1 = ""; string str_2 = ""; for (int i = 0; i < length; i++){ um[str[i]]++; } for(auto it : um){ if(it.second % 2 != 0){ total++; ch = it.first; } } if(total > 1 || total == 1 && length % 2 == 0){ return 0; } for(auto it : um){ string str(it.second / 2, it.first); str_1 = str_1 + str; str_2 = str + str_2; } if(total == 1){ return str_1 + ch + str_2; } else{ return str_1 + str_2; } } int main(){ string str = "itnin"; int length = str.size(); cout<<"Rearrangement of characters to form palindrome if possible is: "<<Rearrangement(str, length); return 0; }
Output
Si nous exécutons le code ci-dessus, la sortie suivante sera générée
Rearrangement of characters to form palindrome if possible is: nitin
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

AI Hentai Generator
Générez AI Hentai gratuitement.

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)

Utilisez la fonction Character.isDigit() de Java pour déterminer si un caractère est un caractère numérique. Les caractères sont représentés sous la forme de codes ASCII en interne dans l'ordinateur. Chaque caractère a un code ASCII correspondant. Parmi eux, les valeurs du code ASCII correspondant aux caractères numériques 0 à 9 sont respectivement 48 à 57. Pour déterminer si un caractère est un nombre, vous pouvez utiliser la méthode isDigit() fournie par la classe Character en Java. La méthode isDigit() est de la classe Character

Comment utiliser la correction automatique pour saisir des flèches dans Word L'un des moyens les plus rapides de saisir des flèches dans Word consiste à utiliser les raccourcis de correction automatique prédéfinis. Si vous tapez une séquence spécifique de caractères, Word convertit automatiquement ces caractères en symboles fléchés. Vous pouvez dessiner de nombreux styles de flèches différents en utilisant cette méthode. Pour taper une flèche dans Word à l'aide de la correction automatique : Déplacez votre curseur vers l'emplacement du document où vous souhaitez que la flèche apparaisse. Tapez l'une des combinaisons de caractères suivantes : Si vous ne souhaitez pas que ce que vous tapez soit remplacé par un symbole de flèche, appuyez sur la touche Retour arrière de votre clavier pour

Un exposant est un ou plusieurs caractères, lettres ou chiffres, que vous devez définir légèrement au-dessus de la ligne normale de texte. Par exemple, si vous devez écrire 1er, la lettre st doit être légèrement plus haute que le caractère 1. De même, un indice est un groupe de caractères ou un caractère unique et doit être défini légèrement à un niveau inférieur au niveau de texte normal. Par exemple, lorsque vous écrivez une formule chimique, vous devez placer les nombres sous la ligne normale de caractères. Les captures d'écran suivantes montrent quelques exemples de formatage en exposant et en indice. Même si cela peut sembler une tâche ardue, appliquer le formatage en exposant et en indice à votre texte est en réalité assez simple. Dans cet article, nous expliquerons en quelques étapes simples comment formater facilement du texte en exposant ou en indice. J'espère que vous avez apprécié la lecture de cet article. Comment appliquer l'exposant dans Excel

Votre clavier physique ou numérique offre un nombre limité d'options de caractères en surface. Cependant, il existe plusieurs façons d'accéder aux lettres accentuées, aux caractères spéciaux et bien plus encore sur iPhone, iPad et Mac. Le clavier iOS standard vous donne un accès rapide aux lettres majuscules et minuscules, aux chiffres standard, à la ponctuation et aux caractères. Bien sûr, il existe de nombreux autres personnages. Vous pouvez choisir entre des lettres avec des signes diacritiques et des points d'interrogation à l'envers. Vous êtes peut-être tombé sur un caractère spécial caché. Sinon, voici comment y accéder sur iPhone, iPad et Mac. Comment accéder aux caractères étendus sur iPhone et iPad Obtenir des caractères étendus sur votre iPhone ou iPad est très simple. Dans "Informations", "

Afficher correctement les caractères chinois dans matplotlib est un problème souvent rencontré par de nombreux utilisateurs chinois. Par défaut, matplotlib utilise des polices anglaises et ne peut pas afficher correctement les caractères chinois. Pour résoudre ce problème, nous devons définir la police chinoise correcte et l'appliquer à matplotlib. Vous trouverez ci-dessous quelques exemples de code spécifiques pour vous aider à afficher correctement les caractères chinois dans matplotlib. Tout d’abord, nous devons importer les bibliothèques requises : importmatplot

Dans cet article, nous verrons comment modifier une chaîne donnée en C++ en réorganisant les voyelles par ordre alphabétique à leurs indices respectifs. Nous expliquerons également les méthodes utilisées pour résoudre ce problème et fournirons des exemples avec des cas de test. Énoncé du problème Étant donné une chaîne, réorganisez les voyelles à leurs indices respectifs par ordre alphabétique. Les consonnes de la chaîne doivent conserver leur ordre d'origine. Par exemple, étant donné la chaîne « tutorialspoint », le résultat devrait être « tatiriolspount ». Méthode Ce problème peut être résolu à l'aide d'un algorithme simple. Nous pouvons d’abord créer une chaîne distincte contenant toutes les voyelles de la chaîne donnée dans leur ordre respectif. Nous pouvons ensuite trier cette chaîne par ordre alphabétique. enfin,

Comment utiliser Golang pour déterminer si un caractère est une lettre. Dans Golang, déterminer si un caractère est une lettre peut être obtenu en utilisant la fonction IsLetter du package Unicode. La fonction IsLetter vérifie si le caractère donné est une lettre. Ensuite, nous présenterons en détail comment utiliser Golang pour écrire du code afin de déterminer si un caractère est une lettre. Tout d’abord, vous devez créer un nouveau fichier Go dans lequel écrire le code. Vous pouvez nommer le fichier « main.go ». code

La représentation alphabétique de la touche Entrée en Java est `. En Java, ` représente un caractère de nouvelle ligne, et lorsque ce caractère est rencontré, la sortie du texte sera renvoyée à la ligne. Voici un exemple de code simple qui montre comment utiliser `` pour représenter la touche Entrée : publicclassMain{publicstaticvoidmain(String[]args){System.out.println("Ceci est la première ligne de ce
