


Susun semula rentetan untuk memaksimumkan jarak minimum antara mana-mana pasangan vokal
Sep 11, 2023 pm 07:49 PMDalam artikel ini, kami akan merungkai masalah menarik dari bidang manipulasi rentetan: "Susun semula rentetan untuk memaksimumkan jarak minimum antara mana-mana pasangan vokal". Masalah ini mencabar kami untuk memanipulasi susunan aksara dalam rentetan untuk memastikan jarak minimum yang terbesar mungkin antara mana-mana dua aksara vokal. Kami akan membincangkan isu ini secara terperinci, menyediakan pelaksanaan kod C++, dan menggambarkan dengan contoh.
Memahami penyataan masalah
Diberi rentetan, tugasnya adalah untuk menyusun semula aksara dalam rentetan supaya jarak minimum antara mana-mana pasangan vokal dimaksimumkan. Dalam erti kata lain, kami mahu vokal berada sejauh mungkin antara satu sama lain.
Vokal dalam bahasa Inggeris ialah "a", "e", "i", "o", "u" dan versi huruf besarnya.
Kaedah
Untuk menyelesaikan masalah ini, kami akan mengambil pendekatan dua langkah -
Pertama, kira bilangan vokal dalam rentetan dan simpan kedudukannya dalam tatasusunan.
Seterusnya, susun tatasusunan dan kira perbezaan maksimum antara mana-mana dua elemen berturut-turut. Perbezaan ini mewakili jarak maksimum dan minimum antara mana-mana pasangan vokal.
Contoh
Mari laksanakan strategi ini dalam C++ -
#include <bits/stdc++.h> using namespace std; // Function to check if a character is a vowel bool isVowel(char c) { return c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u' || c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U'; } // Function to find maximum minimum distance between vowels int maxMinDist(string s) { vector<int> pos; for (int i = 0; i < s.size(); i++) { if (isVowel(s[i])) pos.push_back(i); } sort(pos.begin(), pos.end()); int maxDist = 0; for (int i = 1; i < pos.size(); i++) { maxDist = max(maxDist, pos[i] - pos[i-1]); } return maxDist; } int main() { string s = "programming"; cout << "Max minimum distance between vowels: " << maxMinDist(s); return 0; }
Output
Max minimum distance between vowels: 3
Kod ini mula-mula mencari kedudukan semua vokal dalam rentetan dan menyimpannya dalam vektor. Kemudian, ia mengisih vektor ini dan mencari perbezaan maksimum antara elemen berturut-turut. Perbezaan ini mewakili jarak maksimum dan minimum antara mana-mana pasangan vokal.
Kes Ujian
Mari kita pertimbangkan rentetan "pengaturcaraan". Kedudukan vokal "o", "a" dan "i" masing-masing ialah 1, 4 dan 7. Oleh itu, jarak maksimum dan minimum antara mana-mana pasangan vokal ialah 3.
Kesimpulan
Artikel ini menyediakan pendekatan langkah demi langkah untuk masalah memaksimumkan jarak minimum antara mana-mana pasangan vokal dalam rentetan tertentu. Penyelesaiannya melibatkan mengira vokal, menyimpan kedudukannya, dan kemudian mencari perbezaan maksimum antara kedudukan tersebut. Walaupun masalah itu mungkin kelihatan rumit pada pandangan pertama, ia sangat dipermudahkan apabila dipecahkan kepada langkah-langkah ini.
Atas ialah kandungan terperinci Susun semula rentetan untuk memaksimumkan jarak minimum antara mana-mana pasangan vokal. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Penjelasan terperinci tentang kaedah menukar jenis int kepada rentetan dalam PHP

Bagaimana untuk menentukan sama ada rentetan Golang berakhir dengan aksara yang ditentukan

Bagaimana untuk menyemak sama ada rentetan bermula dengan aksara tertentu dalam Golang?

Bagaimana untuk mengulangi rentetan dalam python_python mengulangi tutorial rentetan

Bagaimana untuk menyelesaikan masalah aksara Cina yang kacau apabila menukar perenambelasan kepada rentetan dalam PHP

Manipulasi rentetan PHP: cara praktikal untuk mengalih keluar ruang dengan berkesan

Petua Padanan Rentetan PHP: Elakkan Ungkapan Disertakan Kabur

Teknik PHP untuk memadam dua aksara terakhir rentetan
