주어진 길이의 문자열 'str'이 제공됩니다. 임무는 주어진 입력 문자열에서 문자를 추가하거나 제거하지 않고 출력이 회문 문자열이 되도록 문자를 재배열하는 것입니다. 회문 문자열은 문자가 처음부터 끝까지 동일하게 들리도록 배열된 문자열입니다.
이를 위한 다양한 입력 및 출력 시나리오를 살펴보겠습니다. -
Input - String str = "itnin"
Output - 가능하다면 회문 문자열을 형성하기 위해 문자를 재배열하는 방법은 다음과 같습니다: nitin
설명 - 문자열 유형의 변수가 주어졌습니다. str이라고 가정해 보겠습니다. 이제 입력 문자열의 문자를 재정렬하여 회문 문자열이 아닌 경우 이를 회문 문자열로 만듭니다
가능한 경우 'NOT POSSIBLE'을 반환합니다. 따라서 입력 문자열에 대한 출력은 'nitin'입니다.Input - String str = "baaaba"
Output - 회문을 형성하기 위해 가능한 문자 재배열의 결과는 다음과 같습니다. aabbaa
Explanation - 문자열 유형의 변수가 주어집니다. str이라고 가정해 보겠습니다. 이제 입력 문자열의 문자를 다시 배열하여 회문 문자열로 만들고 이것이 가능하지 않으면 'NOT POSSIBLE'을 반환합니다. 따라서 입력 문자열에 대한 출력은 'aabbaa'입니다.
아래 프로그램에서 사용한 방법은 다음과 같습니다
문자열형 변수를 str이라고 가정하고 입력하고, 문자열의 크기를 계산하여 length라는 변수에 저장합니다.
데이터를 재정렬(str, length) 함수에 전달합니다.
-
Rearrangement(arr, length)
함수 내에서 char 및 정수 유형의 키-값 쌍을 저장하는 'um'이라는 unordered_map 유형 변수를 만듭니다.
정수형 변수 total을 선언하고 0으로 설정합니다.
문자형 변수 'ch'와 문자열형 변수 str_1, str_2를 생성합니다.
i가 길이보다 작아질 때까지 i에서 0까지의 루프로 시작합니다. 루프 내에서 값을 1씩 증가시켜 um[str[i]]를 설정합니다.
FOR 반복을 시작하여 맵 'um'을 반복합니다. 루프 내에서 it.second % 2가 0이 아닌지 확인한 다음 합계를 1만큼 늘리고 ch를 it.first로 설정합니다.
IF total이 1보다 크거나 total = 1이고 길이 % 2 = 0인지 확인하면 0이 반환됩니다.
FOR 반복을 시작하여 맵 '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가 반환됩니다.
결과를 인쇄하세요.
Example
#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
위 코드를 실행하면 다음과 같은 출력이 생성됩니다
Rearrangement of characters to form palindrome if possible is: nitin
위 내용은 C++에서 문자를 재정렬하여 회문(가능한 경우)을 형성합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

如何使用自动更正在 Word 中键入箭头在 Word 中键入箭头的最快方法之一是使用预定义的自动更正快捷方式。如果您键入特定的字符序列,Word 会自动将这些字符转换为箭头符号。您可以使用此方法绘制多种不同的箭头样式。要使用自动更正在 Word 中键入箭头:将光标移动到文档中要显示箭头的位置。键入以下字符组合之一:如果您不希望将您键入的内容更正为箭头符号,请按键盘上的退格键会将

上标是一个字符或多个字符,可以是字母或数字,您需要将其设置为略高于正常文本行。例如,如果您需要写1st,则字母st需要略高于字符1。同样,下标是一组字符或单个字符,需要设置为略低于正常文本级别。例如,当你写化学式时,你需要把数字放在正常字符行的下方。以下屏幕截图显示了上标和下标格式的一些示例。尽管这似乎是一项艰巨的任务,但实际上将上标和下标格式应用于您的文本非常简单。在本文中,我们将通过一些简单的步骤说明如何轻松地使用上标或下标格式设置文本。希望你喜欢阅读这篇文章。如何在 Excel 中应用上标

您的物理或数字键盘在表面上提供有限数量的字符选项。但是,有几种方法可以在iPhone、iPad和Mac上访问重音字母、特殊字符等。标准iOS键盘可让您快速访问大写和小写字母、标准数字、标点符号和字符。当然,还有很多其他角色。您可以从带有变音符号的字母到倒置的问号中进行选择。您可能无意中发现了隐藏的特殊字符。如果没有,以下是在iPhone、iPad和Mac上访问它们的方法。如何在iPhone和iPad上访问扩展字符在iPhone或iPad上获取扩展字符非常简单。在“信息”、“

使用Java的Character.isDigit()函数判断字符是否为数字字符在计算机内部以ASCII码的形式表示,每个字符都有一个对应的ASCII码。其中,数字字符0到9分别对应的ASCII码值为48到57。要判断一个字符是否为数字,可以使用Java中的Character类提供的isDigit()方法进行判断。isDigit()方法是Character类的

在matplotlib中正确地显示中文字符,是很多中文用户常常遇到的问题。默认情况下,matplotlib使用的是英文字体,无法正确显示中文字符。为了解决这个问题,我们需要设置正确的中文字体,并将其应用到matplotlib中。下面是一些具体的代码示例,帮助你正确地在matplotlib中显示中文字符。首先,我们需要导入需要的库:importmatplot

在本文中,我们将讨论如何通过在各自索引处按字母顺序重新排列元音来修改C++中的给定字符串。我们还将解释用于解决此问题的方法,并提供带有测试用例的示例。问题陈述给定一个字符串,按字母顺序在各自的索引处重新排列元音。字符串中的辅音应保持其原始顺序。例如,给定字符串“tutorialspoint”,输出应为“tatiriolspount”。方法这个问题可以使用简单的算法来解决。我们可以首先创建一个单独的字符串,其中按各自的顺序包含给定字符串中的所有元音。然后我们可以按字母顺序对该字符串进行排序。最后,

如何使用Golang判断一个字符是否为字母在Golang中,判断一个字符是否为字母可以通过使用Unicode包中的IsLetter函数来实现。IsLetter函数会检查给定的字符是否是一个字母。接下来,我们将详细介绍如何使用Golang编写代码来判断一个字符是否为字母。首先,你需要创建一个新的Go文件,用于编写代码。你可以将文件命名为"main.go"。代码

Java中回车键的字符表示是`。在Java中,`表示换行符,当遇到这个字符时,文本输出会换行。下面是一个简单的代码示例,演示如何使用``来表示回车键:publicclassMain{publicstaticvoidmain(String[]args){System.out.println("这是第一行这


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.
