国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
讓我們看看這個的各種輸入輸出場景 -
下面程序中使用的方法如下
示例
輸出
首頁 后端開發(fā) C++ 將字符重新排列以形成回文(如果可能)在C++中

將字符重新排列以形成回文(如果可能)在C++中

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

將字符重新排列以形成回文(如果可能)在C++中

我們被給定一個長度為任意給定長度的字符串'str'。任務(wù)是重新排列字符,使輸出成為一個回文字符串,而不添加或刪除給定輸入字符串中的字符?;匚淖址侵缸址砸环N方式排列,使得它們從開始到結(jié)束發(fā)音相同。

讓我們看看這個的各種輸入輸出場景 -

輸入?- 字符串str = "itnin"

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

解釋?- 我們被給定一個字符串類型的變量,假設(shè)為str?,F(xiàn)在我們將重新排列輸入字符串的字符,使其成為一個回文字符串,如果不是的話

如果可能,它將返回'NOT POSSIBLE'。因此,給定輸入字符串的輸出為'nitin'。

輸入 - 字符串str = "baaaba"

輸出 - 可能的字符重新排列形成回文的結(jié)果是:aabbaa

解釋 - 我們給定一個字符串類型的變量,假設(shè)為str?,F(xiàn)在我們將重新排列輸入字符串的字符,使其成為回文字符串,如果不可能,則返回'NOT POSSIBLE'。因此,給定輸入字符串的輸出為'aabbaa'。

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

  • 輸入一個字符串類型的變量,假設(shè)為str,并計算字符串的大小,將其存儲在一個名為length的變量中。

  • 將數(shù)據(jù)傳遞給函數(shù)Rearrangement(str, length)。

  • 在函數(shù)Rearrangement(arr, length)內(nèi)部

    • 創(chuàng)建一個名為'um'的unordered_map類型變量,它存儲char和integer類型的鍵值對。

    • 聲明一個整數(shù)類型變量total,并將其設(shè)置為0。

    • 創(chuàng)建一個字符類型變量'ch'和字符串類型變量str_1和str_2。

    • 從i到0的循環(huán)開始,直到i小于length。在循環(huán)內(nèi),通過遞增值1設(shè)置um[str[i]]。

    • 開始循環(huán)FOR來迭代map 'um'。在循環(huán)內(nèi),檢查IF it.second % 2不等于0,則將total增加1,并將ch設(shè)置為it.first。

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

    • 開始循環(huán)FOR來迭代map 'um'。在循環(huán)內(nèi),將str(it.second / 2, it.first)設(shè)置為str,將str_1設(shè)置為str_1 + str,將str_2設(shè)置為str + str_2。

    • 檢查IF total = 1,則返回str_1 + ch + str_2。否則,返回str_1 + str_2。

  • 打印結(jié)果。

示例

#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;
}

輸出

如果我們運行上述代碼,將會生成以下輸出

Rearrangement of characters to form palindrome if possible is: nitin

以上是將字符重新排列以形成回文(如果可能)在C++中的詳細(xì)內(nèi)容。更多信息請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

如何在 Word 中鍵入箭頭 如何在 Word 中鍵入箭頭 Apr 16, 2023 pm 11:37 PM

如何使用自動更正在 Word 中鍵入箭頭在 Word 中鍵入箭頭的最快方法之一是使用預(yù)定義的自動更正快捷方式。如果您鍵入特定的字符序列,Word 會自動將這些字符轉(zhuǎn)換為箭頭符號。您可以使用此方法繪制多種不同的箭頭樣式。要使用自動更正在 Word 中鍵入箭頭:將光標(biāo)移動到文檔中要顯示箭頭的位置。鍵入以下字符組合之一:如果您不希望將您鍵入的內(nèi)容更正為箭頭符號,請按鍵盤上的退格鍵會將

使用java的Character.isDigit()函數(shù)判斷字符是否為數(shù)字 使用java的Character.isDigit()函數(shù)判斷字符是否為數(shù)字 Jul 27, 2023 am 09:32 AM

使用Java的Character.isDigit()函數(shù)判斷字符是否為數(shù)字字符在計算機內(nèi)部以ASCII碼的形式表示,每個字符都有一個對應(yīng)的ASCII碼。其中,數(shù)字字符0到9分別對應(yīng)的ASCII碼值為48到57。要判斷一個字符是否為數(shù)字,可以使用Java中的Character類提供的isDigit()方法進(jìn)行判斷。isDigit()方法是Character類的

如何在 iPhone 和 Mac 上輸入擴展字符,例如度數(shù)符號? 如何在 iPhone 和 Mac 上輸入擴展字符,例如度數(shù)符號? Apr 22, 2023 pm 02:01 PM

您的物理或數(shù)字鍵盤在表面上提供有限數(shù)量的字符選項。但是,有幾種方法可以在iPhone、iPad和Mac上訪問重音字母、特殊字符等。標(biāo)準(zhǔn)iOS鍵盤可讓您快速訪問大寫和小寫字母、標(biāo)準(zhǔn)數(shù)字、標(biāo)點符號和字符。當(dāng)然,還有很多其他角色。您可以從帶有變音符號的字母到倒置的問號中進(jìn)行選擇。您可能無意中發(fā)現(xiàn)了隱藏的特殊字符。如果沒有,以下是在iPhone、iPad和Mac上訪問它們的方法。如何在iPhone和iPad上訪問擴展字符在iPhone或iPad上獲取擴展字符非常簡單。在“信息”、“

正確在matplotlib中顯示中文字符的方法 正確在matplotlib中顯示中文字符的方法 Jan 13, 2024 am 11:03 AM

在matplotlib中正確地顯示中文字符,是很多中文用戶常常遇到的問題。默認(rèn)情況下,matplotlib使用的是英文字體,無法正確顯示中文字符。為了解決這個問題,我們需要設(shè)置正確的中文字體,并將其應(yīng)用到matplotlib中。下面是一些具體的代碼示例,幫助你正確地在matplotlib中顯示中文字符。首先,我們需要導(dǎo)入需要的庫:importmatplot

如何在 Microsoft Excel 中應(yīng)用上標(biāo)和下標(biāo)格式選項 如何在 Microsoft Excel 中應(yīng)用上標(biāo)和下標(biāo)格式選項 Apr 14, 2023 pm 12:07 PM

上標(biāo)是一個字符或多個字符,可以是字母或數(shù)字,您需要將其設(shè)置為略高于正常文本行。例如,如果您需要寫1st,則字母st需要略高于字符1。同樣,下標(biāo)是一組字符或單個字符,需要設(shè)置為略低于正常文本級別。例如,當(dāng)你寫化學(xué)式時,你需要把數(shù)字放在正常字符行的下方。以下屏幕截圖顯示了上標(biāo)和下標(biāo)格式的一些示例。盡管這似乎是一項艱巨的任務(wù),但實際上將上標(biāo)和下標(biāo)格式應(yīng)用于您的文本非常簡單。在本文中,我們將通過一些簡單的步驟說明如何輕松地使用上標(biāo)或下標(biāo)格式設(shè)置文本。希望你喜歡閱讀這篇文章。如何在 Excel 中應(yīng)用上標(biāo)

如何使用Golang判斷一個字符是否為字母 如何使用Golang判斷一個字符是否為字母 Dec 23, 2023 am 11:57 AM

如何使用Golang判斷一個字符是否為字母在Golang中,判斷一個字符是否為字母可以通過使用Unicode包中的IsLetter函數(shù)來實現(xiàn)。IsLetter函數(shù)會檢查給定的字符是否是一個字母。接下來,我們將詳細(xì)介紹如何使用Golang編寫代碼來判斷一個字符是否為字母。首先,你需要創(chuàng)建一個新的Go文件,用于編寫代碼。你可以將文件命名為"main.go"。代碼

如何在 Windows 11 上鍵入特殊字符 如何在 Windows 11 上鍵入特殊字符 Apr 17, 2023 pm 08:28 PM

在平板電腦模式下啟用觸控鍵盤如果您有觸摸屏筆記本電腦,則可以使用觸摸鍵盤在Windows11上鍵入多個特殊字符。這可能是添加特殊字符的最簡單方法。在Windows11上啟用特殊字符的觸摸屏:打開開始菜單并選擇設(shè)置。當(dāng)設(shè)置打開時,導(dǎo)航到時間和語言>打字>觸摸鍵盤。在“鍵入”菜單中,選中“沒有鍵盤時顯示觸摸鍵盤”選項。啟用無平板電腦模式的觸控鍵盤訪問觸摸鍵盤的另一種方法是使其全時顯示在任務(wù)欄上。要使觸摸鍵盤可訪問,您需要告訴Windows11顯示它。使用以下步驟:在開始菜單中,選

通過按照元音字母在字符串中的索引位置重新排列,修改字符串 通過按照元音字母在字符串中的索引位置重新排列,修改字符串 Sep 06, 2023 pm 06:53 PM

在本文中,我們將討論如何通過在各自索引處按字母順序重新排列元音來修改C++中的給定字符串。我們還將解釋用于解決此問題的方法,并提供帶有測試用例的示例。問題陳述給定一個字符串,按字母順序在各自的索引處重新排列元音。字符串中的輔音應(yīng)保持其原始順序。例如,給定字符串“tutorialspoint”,輸出應(yīng)為“tatiriolspount”。方法這個問題可以使用簡單的算法來解決。我們可以首先創(chuàng)建一個單獨的字符串,其中按各自的順序包含給定字符串中的所有元音。然后我們可以按字母順序?qū)υ撟址M(jìn)行排序。最后,

See all articles