Jadual Kandungan
Mari kita lihat pelbagai senario input dan output untuk ini -
Rumah pembangunan bahagian belakang C++ Susun semula aksara untuk membentuk palindrom (jika boleh) dalam C++

Susun semula aksara untuk membentuk palindrom (jika boleh) dalam C++

Sep 09, 2023 pm 03:57 PM
watak susun semula palindrom

Susun semula aksara untuk membentuk palindrom (jika boleh) dalam C++

Kami diberi rentetan 'str' bagi mana-mana panjang tertentu. Tugasnya adalah untuk menyusun semula aksara supaya output menjadi rentetan palindrom tanpa menambah atau mengalih keluar aksara daripada rentetan input yang diberikan. Rentetan palindrom ialah apabila aksara disusun sedemikian rupa sehingga bunyinya sama dari awal hingga akhir.

Mari kita lihat pelbagai senario input dan output untuk ini -

Input - String str = "itnin"

Output - Jika boleh, penyusunan semula aksara untuk membentuk rentetan palitin

ialah: rentetan palitin

- Kami diberi pembolehubah jenis rentetan, katakan str. Sekarang kita akan menyusun semula aksara rentetan input untuk menjadikannya rentetan palindrom jika tidak Ia akan kembali 'TIDAK BOLEH' jika boleh. Oleh itu, output yang diberikan rentetan input ialah 'nitin'. . Sekarang kita akan menyusun semula aksara rentetan input untuk menjadikannya rentetan palindrom dan kembalikan 'TIDAK MUNGKIN' jika ini tidak mungkin. Oleh itu, output yang diberikan rentetan input ialah 'aabbaa'.

Kaedah yang digunakan dalam atur cara di bawah adalah seperti berikut

Masukkan pembolehubah jenis rentetan, dengan mengandaikan ia adalah str, dan hitung saiz rentetan dan simpannya dalam pembolehubah bernama panjang.

Hantar data ke fungsi Susunan Semula(str, panjang).

Di dalam fungsi Penyusunan Semula(arr, panjang)

  • buat pembolehubah jenis unordered_map bernama 'um', yang menyimpan pasangan nilai kunci jenis char dan integer.

  • Isytiharkan jumlah pembolehubah jenis integer dan tetapkannya kepada 0.

  • Buat pembolehubah jenis aksara 'ch' dan pembolehubah jenis rentetan str_1 dan str_2.

    • Mulakan dengan gelung dari i hingga 0 sehingga i kurang daripada panjang. Di dalam gelung, tetapkan um[str[i]] dengan menambah nilai 1.

    • Mulakan gelung UNTUK untuk lelaran peta 'um'. Di dalam gelung, periksa JIKA ia.saat % 2 tidak sama dengan 0, kemudian tambahkan jumlah sebanyak 1 dan tetapkan ch padanya.pertama.

    • Semak JIKA jumlah lebih besar daripada 1 atau jumlah = 1 dan panjang % 2 = 0, kemudian 0 dikembalikan.

    • Mulakan gelung UNTUK untuk lelaran peta 'um'. Dalam gelung, str(it.second / 2, it.first) ditetapkan kepada str, str_1 ditetapkan kepada str_1 + str dan str_2 ditetapkan kepada str + str_2.

    • Semak JIKA jumlah = 1, kemudian kembalikan str_1 + ch + str_2. Jika tidak, str_1 + str_2 dikembalikan.

    • Cetak hasilnya.
    • Contoh
    • #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;
      }
      Salin selepas log masuk
    • Output

      Jika kita menjalankan kod di atas, output berikut akan dihasilkan
    • Rearrangement of characters to form palindrome if possible is: nitin
      Salin selepas log masuk

Atas ialah kandungan terperinci Susun semula aksara untuk membentuk palindrom (jika boleh) dalam C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Gunakan fungsi Character.isDigit() java untuk menentukan sama ada aksara ialah nombor Gunakan fungsi Character.isDigit() java untuk menentukan sama ada aksara ialah nombor Jul 27, 2023 am 09:32 AM

Gunakan fungsi Java's Character.isDigit() untuk menentukan sama ada aksara ialah aksara angka diwakili dalam bentuk kod ASCII secara dalaman dalam komputer Setiap aksara mempunyai kod ASCII yang sepadan. Antaranya, nilai kod ASCII yang sepadan dengan aksara angka 0 hingga 9 masing-masing adalah 48 hingga 57. Untuk menentukan sama ada aksara ialah nombor, anda boleh menggunakan kaedah isDigit() yang disediakan oleh kelas Aksara dalam Java. Kaedah isDigit() adalah daripada kelas Aksara

Cara menaip anak panah dalam Word Cara menaip anak panah dalam Word Apr 16, 2023 pm 11:37 PM

Cara menggunakan AutoCorrect untuk menaip anak panah dalam Word Salah satu cara terpantas untuk menaip anak panah dalam Word ialah menggunakan pintasan AutoCorrect yang dipratentukan. Jika anda menaip jujukan aksara tertentu, Word secara automatik menukar aksara tersebut kepada simbol anak panah. Anda boleh melukis banyak gaya anak panah yang berbeza menggunakan kaedah ini. Untuk menaip anak panah dalam Word menggunakan AutoCorrect: Gerakkan kursor anda ke lokasi dalam dokumen yang anda mahu anak panah itu muncul. Taipkan salah satu daripada gabungan aksara berikut: Jika anda tidak mahu apa yang anda taip diperbetulkan kepada simbol anak panah, tekan kekunci ruang belakang pada papan kekunci anda untuk

Cara menggunakan pilihan pemformatan superskrip dan subskrip dalam Microsoft Excel Cara menggunakan pilihan pemformatan superskrip dan subskrip dalam Microsoft Excel Apr 14, 2023 pm 12:07 PM

Superskrip ialah aksara atau aksara, sama ada huruf atau nombor, yang anda perlu tetapkan sedikit di atas baris teks biasa. Sebagai contoh, jika anda perlu menulis 1, huruf st perlu lebih tinggi sedikit daripada aksara 1. Begitu juga, subskrip ialah sekumpulan aksara atau aksara tunggal dan perlu ditetapkan lebih rendah sedikit daripada tahap teks biasa. Sebagai contoh, apabila anda menulis formula kimia, anda perlu meletakkan nombor di bawah garis biasa aksara. Tangkapan skrin berikut menunjukkan beberapa contoh pemformatan superskrip dan subskrip. Walaupun ia mungkin kelihatan seperti tugas yang sukar, menggunakan pemformatan superskrip dan subskrip pada teks anda sebenarnya agak mudah. Dalam artikel ini, kami akan menerangkan dalam beberapa langkah mudah cara memformat teks dengan mudah menggunakan superskrip atau subskrip. Harap anda seronok membaca artikel ini. Cara menggunakan superskrip dalam Excel

Bagaimanakah anda memasukkan aksara lanjutan, seperti simbol darjah, pada iPhone dan Mac? Bagaimanakah anda memasukkan aksara lanjutan, seperti simbol darjah, pada iPhone dan Mac? Apr 22, 2023 pm 02:01 PM

Papan kekunci fizikal atau angka anda menyediakan bilangan pilihan aksara yang terhad di permukaan. Walau bagaimanapun, terdapat beberapa cara untuk mengakses huruf beraksen, aksara khas dan banyak lagi pada iPhone, iPad dan Mac. Papan kekunci iOS standard memberi anda akses pantas kepada huruf besar dan huruf kecil, nombor standard, tanda baca dan aksara. Sudah tentu, terdapat banyak watak lain. Anda boleh memilih daripada huruf dengan diakritik kepada tanda soal terbalik. Anda mungkin terjumpa watak istimewa yang tersembunyi. Jika tidak, berikut ialah cara untuk mengaksesnya pada iPhone, iPad dan Mac. Cara Mengakses Aksara Lanjutan pada iPhone dan iPad Mendapatkan aksara lanjutan pada iPhone atau iPad anda adalah sangat mudah. Dalam "Maklumat", "

Cara yang betul untuk memaparkan aksara Cina dalam matplotlib Cara yang betul untuk memaparkan aksara Cina dalam matplotlib Jan 13, 2024 am 11:03 AM

Memaparkan aksara Cina dengan betul dalam matplotlib adalah masalah yang sering dihadapi oleh ramai pengguna Cina. Secara lalai, matplotlib menggunakan fon Inggeris dan tidak boleh memaparkan aksara Cina dengan betul. Untuk menyelesaikan masalah ini, kita perlu menetapkan fon Cina yang betul dan menggunakannya pada matplotlib. Di bawah ialah beberapa contoh kod khusus untuk membantu anda memaparkan aksara Cina dengan betul dalam matplotlib. Pertama, kita perlu mengimport perpustakaan yang diperlukan: importmatplot

Ubah suai rentetan dengan menyusun semula vokal mengikut kedudukan indeksnya dalam rentetan Ubah suai rentetan dengan menyusun semula vokal mengikut kedudukan indeksnya dalam rentetan Sep 06, 2023 pm 06:53 PM

Dalam artikel ini, kita akan membincangkan cara mengubah suai rentetan yang diberikan dalam C++ dengan menyusun semula huruf vokal mengikut abjad pada indeks masing-masing. Kami juga akan menerangkan kaedah yang digunakan untuk menyelesaikan masalah ini dan memberikan contoh dengan kes ujian. Pernyataan Masalah Diberi rentetan, susun semula vokal pada indeks masing-masing mengikut susunan abjad. Konsonan dalam rentetan harus mengekalkan susunan asalnya. Sebagai contoh, memandangkan rentetan "tutorialspoint", output mestilah "tatiriolspount". Kaedah Masalah ini boleh diselesaikan menggunakan algoritma mudah. Mula-mula kita boleh mencipta rentetan berasingan yang mengandungi semua vokal dalam rentetan yang diberikan dalam susunan masing-masing. Kemudian kita boleh mengisih rentetan itu mengikut abjad. akhirnya,

Cara menggunakan Golang untuk menentukan sama ada aksara adalah huruf Cara menggunakan Golang untuk menentukan sama ada aksara adalah huruf Dec 23, 2023 am 11:57 AM

Cara menggunakan Golang untuk menentukan sama ada aksara ialah huruf Dalam Golang, menentukan sama ada aksara ialah huruf boleh dicapai dengan menggunakan fungsi IsLetter dalam pakej Unicode. Fungsi IsLetter menyemak sama ada aksara yang diberikan ialah huruf. Seterusnya, kami akan memperkenalkan secara terperinci cara menggunakan Golang untuk menulis kod untuk menentukan sama ada sesuatu aksara itu adalah huruf. Pertama, anda perlu mencipta fail Go baharu untuk menulis kod tersebut. Anda boleh menamakan fail "main.go". kod

Mengenai perwakilan aksara kekunci Enter dalam Java, yang manakah ia? Mengenai perwakilan aksara kekunci Enter dalam Java, yang manakah ia? Mar 29, 2024 am 11:48 AM

Perwakilan aksara kekunci Enter dalam Java ialah `. Dalam Java, ` mewakili aksara baris baharu, dan apabila aksara ini ditemui, output teks akan dibalut. Berikut ialah contoh kod ringkas yang menunjukkan cara menggunakan `` untuk mewakili kekunci Enter: publicclassMain{publicstaticvoidmain(String[]args){System.out.println("Ini ialah baris pertama ini

See all articles