Inhaltsverzeichnis
让我们看看这个的各种输入输出场景 -
下面程序中使用的方法如下
示例
输出
Heim Backend-Entwicklung C++ Ordnen Sie Zeichen in C++ neu an, um ein Palindrom zu bilden (falls möglich).

Ordnen Sie Zeichen in C++ neu an, um ein Palindrom zu bilden (falls möglich).

Sep 09, 2023 pm 03:57 PM
字符 重新排列 回文

Ordnen Sie Zeichen in C++ neu an, um ein Palindrom zu bilden (falls möglich).

我们被给定一个长度为任意给定长度的字符串'str'。任务是重新排列字符,使输出成为一个回文字符串,而不添加或删除给定输入字符串中的字符。回文字符串是指字符以一种方式排列,使得它们从开始到结束发音相同。

让我们看看这个的各种输入输出场景 -

输入 - 字符串str = "itnin"

输出 - 如果可能,字符的重新排列形成回文字符串是:nitin

解释 - 我们被给定一个字符串类型的变量,假设为str。现在我们将重新排列输入字符串的字符,使其成为一个回文字符串,如果不是的话

如果可能,它将返回'NOT POSSIBLE'。因此,给定输入字符串的输出为'nitin'。

输入 - 字符串str = "baaaba"

输出 - 可能的字符重新排列形成回文的结果是:aabbaa

解释 - 我们给定一个字符串类型的变量,假设为str。现在我们将重新排列输入字符串的字符,使其成为回文字符串,如果不可能,则返回'NOT POSSIBLE'。因此,给定输入字符串的输出为'aabbaa'。

下面程序中使用的方法如下

  • 输入一个字符串类型的变量,假设为str,并计算字符串的大小,将其存储在一个名为length的变量中。

  • 将数据传递给函数Rearrangement(str, length)。

  • 在函数Rearrangement(arr, length)内部

    • 创建一个名为'um'的unordered_map类型变量,它存储char和integer类型的键值对。

    • 声明一个整数类型变量total,并将其设置为0。

    • 创建一个字符类型变量'ch'和字符串类型变量str_1和str_2。

    • 从i到0的循环开始,直到i小于length。在循环内,通过递增值1设置um[str[i]]。

    • 开始循环FOR来迭代map 'um'。在循环内,检查IF it.second % 2不等于0,则将total增加1,并将ch设置为it.first。

    • 检查IF total大于1或total = 1且length % 2 = 0,则返回0。

    • 开始循环FOR来迭代map 'um'。在循环内,将str(it.second / 2, it.first)设置为str,将str_1设置为str_1 + str,将str_2设置为str + str_2。

    • 检查IF total = 1,则返回str_1 + ch + str_2。否则,返回str_1 + str_2。

  • 打印结果。

示例

#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;
}
Nach dem Login kopieren

输出

如果我们运行上述代码,将会生成以下输出

Rearrangement of characters to form palindrome if possible is: nitin
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonOrdnen Sie Zeichen in C++ neu an, um ein Palindrom zu bilden (falls möglich).. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Verwenden Sie die Java-Funktion Character.isDigit(), um festzustellen, ob ein Zeichen eine Zahl ist Verwenden Sie die Java-Funktion Character.isDigit(), um festzustellen, ob ein Zeichen eine Zahl ist Jul 27, 2023 am 09:32 AM

Verwenden Sie die Funktion Character.isDigit() von Java, um festzustellen, ob es sich bei einem Zeichen um ein numerisches Zeichen handelt. Zeichen werden intern im Computer in Form von ASCII-Codes dargestellt. Unter diesen sind die ASCII-Codewerte, die den numerischen Zeichen 0 bis 9 entsprechen, 48 bis 57. Um festzustellen, ob ein Zeichen eine Zahl ist, können Sie die von der Character-Klasse in Java bereitgestellte Methode isDigit() verwenden. Die Methode isDigit() gehört zur Klasse Character

So geben Sie Pfeile in Word ein So geben Sie Pfeile in Word ein Apr 16, 2023 pm 11:37 PM

So verwenden Sie AutoKorrektur zum Eingeben von Pfeilen in Word Eine der schnellsten Möglichkeiten, Pfeile in Word einzugeben, ist die Verwendung der vordefinierten AutoKorrektur-Verknüpfungen. Wenn Sie eine bestimmte Zeichenfolge eingeben, wandelt Word diese Zeichen automatisch in Pfeilsymbole um. Mit dieser Methode können Sie viele verschiedene Pfeilstile zeichnen. So geben Sie mit der AutoKorrektur einen Pfeil in Word ein: Bewegen Sie den Cursor an die Stelle im Dokument, an der der Pfeil erscheinen soll. Geben Sie eine der folgenden Zeichenkombinationen ein: Wenn Sie nicht möchten, dass Ihre Eingabe in ein Pfeilsymbol umgewandelt wird, drücken Sie dazu die Rücktaste auf Ihrer Tastatur

So wenden Sie Formatierungsoptionen für hochgestellte und tiefgestellte Zeichen in Microsoft Excel an So wenden Sie Formatierungsoptionen für hochgestellte und tiefgestellte Zeichen in Microsoft Excel an Apr 14, 2023 pm 12:07 PM

Bei einem hochgestellten Zeichen handelt es sich um ein oder mehrere Zeichen, entweder Buchstaben oder Zahlen, die Sie etwas über der normalen Textzeile platzieren müssen. Wenn Sie beispielsweise „1st“ schreiben müssen, muss der Buchstabe „st“ etwas höher sein als der Buchstabe „1“. Ebenso ist ein Index eine Gruppe von Zeichen oder ein einzelnes Zeichen und muss etwas niedriger als die normale Textebene eingestellt werden. Wenn Sie beispielsweise eine chemische Formel schreiben, müssen Sie die Zahlen unterhalb der normalen Zeichenzeile platzieren. Die folgenden Screenshots zeigen einige Beispiele für die hochgestellte und tiefgestellte Formatierung. Obwohl es wie eine entmutigende Aufgabe erscheinen mag, ist die Anwendung der hoch- und tiefgestellten Formatierung auf Ihren Text eigentlich ganz einfach. In diesem Artikel erklären wir in einigen einfachen Schritten, wie Sie Text ganz einfach mit Hoch- oder Tiefstellung formatieren können. Ich hoffe, Ihnen hat die Lektüre dieses Artikels gefallen. So wenden Sie hochgestellte Zeichen in Excel an

Wie gibt man auf dem iPhone und Mac erweiterte Zeichen wie das Gradzeichen ein? Wie gibt man auf dem iPhone und Mac erweiterte Zeichen wie das Gradzeichen ein? Apr 22, 2023 pm 02:01 PM

Ihre physische oder numerische Tastatur bietet eine begrenzte Anzahl von Zeichenoptionen auf der Oberfläche. Es gibt jedoch mehrere Möglichkeiten, auf dem iPhone, iPad und Mac auf Buchstaben mit Akzent, Sonderzeichen und mehr zuzugreifen. Mit der Standard-iOS-Tastatur haben Sie schnellen Zugriff auf Groß- und Kleinbuchstaben, Standardzahlen, Satzzeichen und Zeichen. Natürlich gibt es noch viele andere Charaktere. Sie können zwischen Buchstaben mit diakritischen Zeichen und auf dem Kopf stehenden Fragezeichen wählen. Möglicherweise sind Sie auf ein verstecktes Sonderzeichen gestoßen. Wenn nicht, erfahren Sie hier, wie Sie auf iPhone, iPad und Mac darauf zugreifen können. So greifen Sie auf erweiterte Zeichen auf dem iPhone und iPad zu. Es ist sehr einfach, erweiterte Zeichen auf Ihrem iPhone oder iPad zu erhalten. Unter „Informationen“:

Richtige Art und Weise, chinesische Schriftzeichen in Matplotlib anzuzeigen Richtige Art und Weise, chinesische Schriftzeichen in Matplotlib anzuzeigen Jan 13, 2024 am 11:03 AM

Die korrekte Anzeige chinesischer Zeichen in Matplotlib ist ein Problem, auf das viele chinesische Benutzer häufig stoßen. Standardmäßig verwendet matplotlib englische Schriftarten und kann chinesische Zeichen nicht korrekt anzeigen. Um dieses Problem zu lösen, müssen wir die richtige chinesische Schriftart festlegen und diese auf matplotlib anwenden. Nachfolgend finden Sie einige spezifische Codebeispiele, die Ihnen dabei helfen, chinesische Schriftzeichen in matplotlib korrekt anzuzeigen. Zuerst müssen wir die erforderlichen Bibliotheken importieren: importmatplot

Ändern Sie eine Zeichenfolge, indem Sie Vokale entsprechend ihrer Indexposition in der Zeichenfolge neu anordnen Ändern Sie eine Zeichenfolge, indem Sie Vokale entsprechend ihrer Indexposition in der Zeichenfolge neu anordnen Sep 06, 2023 pm 06:53 PM

In diesem Artikel besprechen wir, wie man eine bestimmte Zeichenfolge in C++ ändert, indem man die Vokale alphabetisch an ihren jeweiligen Indizes neu anordnet. Außerdem erläutern wir die Methoden zur Lösung dieses Problems und stellen Beispiele mit Testfällen bereit. Problemstellung Ordnen Sie bei gegebener Zeichenfolge die Vokale an ihren jeweiligen Indizes in alphabetischer Reihenfolge neu an. Die Konsonanten in der Zeichenfolge sollten ihre ursprüngliche Reihenfolge beibehalten. Bei gegebener Zeichenfolge „tutorialspoint“ sollte die Ausgabe beispielsweise „tatiriolspount“ lauten. Methode Dieses Problem kann mit einem einfachen Algorithmus gelöst werden. Wir können zunächst eine separate Zeichenfolge erstellen, die alle Vokale in der angegebenen Zeichenfolge in ihrer jeweiligen Reihenfolge enthält. Wir können diese Zeichenfolge dann alphabetisch sortieren. endlich,

So ermitteln Sie mithilfe von Golang, ob ein Zeichen ein Buchstabe ist So ermitteln Sie mithilfe von Golang, ob ein Zeichen ein Buchstabe ist Dec 23, 2023 am 11:57 AM

So verwenden Sie Golang, um festzustellen, ob ein Zeichen ein Buchstabe ist. In Golang kann mithilfe der IsLetter-Funktion im Unicode-Paket ermittelt werden, ob ein Zeichen ein Buchstabe ist. Die Funktion IsLetter prüft, ob das angegebene Zeichen ein Buchstabe ist. Als Nächstes stellen wir detailliert vor, wie Sie mit Golang Code schreiben, um festzustellen, ob es sich bei einem Zeichen um einen Buchstaben handelt. Zuerst müssen Sie eine neue Go-Datei erstellen, in die Sie den Code schreiben. Sie können die Datei „main.go“ nennen. Code

Was ist die Zeichendarstellung der Eingabetaste in Java? Was ist die Zeichendarstellung der Eingabetaste in Java? Mar 29, 2024 am 11:48 AM

Die Zeichendarstellung der Eingabetaste in Java ist „. In Java stellt ` ein Zeilenumbruchzeichen dar, und wenn dieses Zeichen angetroffen wird, wird die Textausgabe umbrochen. Hier ist ein einfaches Codebeispiel, das zeigt, wie „“ zur Darstellung der Eingabetaste verwendet wird: publicclassMain{publicstaticvoidmain(String[]args){System.out.println(“Dies ist die erste Zeile davon

See all articles