


Mengubah suai rentetan dengan menggantikan semua kemunculan aksara tertentu dengan aksara gantian yang ditentukan
Dalam soalan ini, kita perlu menggantikan aksara rentetan yang diberikan berdasarkan aksara yang diberikan dalam tatasusunan pasangan aksara. Kami akan membincangkan dua penyelesaian yang berbeza. Dalam kaedah pertama, kami menggantikan setiap aksara dengan menggelung melalui aksara dan pasangan aksara rentetan yang diberikan.
Dalam kaedah kedua, kami akan menggunakan tatasusunan panjang 26 untuk menyimpan aksara gantian yang dikaitkan dengan setiap aksara dan menukar aksara rentetan yang diberikan.
Pernyataan Masalah − Kami diberi rentetan str yang mengandungi N aksara abjad huruf kecil. Juga, kami diberi tatasusunan yang mengandungi pasangan aksara. Kita perlu menggantikan pasangan[i][0] aksara dalam rentetan yang diberikan dengan pasangan[i][1].
Contoh contoh
Input – str = "xyz", pairs = {{'x', 'a'}, {'y', 'b'},, {'z', 'c'}}
Output – ‘abc’
Penerangan
Di sini, 'x' digantikan dengan 'a', 'y' digantikan dengan 'b', dan 'z' digantikan dengan 'c'.
Input – str = "abderb", pairs = {{'a', 'e'}, {'b', 't'}, {'e', 'f'}, {'r', 's'}}
Output – ‘etdfst’
Penerangan
Dalam rentetan, 'a' digantikan dengan 'e', b' digantikan dengan 't', 'e' digantikan dengan 'f', dan 'r' digantikan dengan 's' .
kaedah satu
Dalam kaedah ini, kami akan mengulangi setiap pasangan aksara dan menggantikan aksara yang sepadan dalam rentetan yang diberikan. Kami memerlukan dua gelung bersarang untuk mengulangi rentetan bagi setiap gelung.
Algoritma
Langkah 1 - Simpan saiz rentetan dalam pembolehubah 'N' dan tatasusunan dalam pembolehubah 'M'.
Langkah 2 - Simpan salinan rentetan dalam pembolehubah 'temp'.
Langkah 3 - Gunakan gelung for untuk lelaran melalui senarai pasangan.
Langkah 4 − Dalam gelung, simpan aksara pertama dalam pembolehubah ‘a’ dan aksara kedua dalam pembolehubah ‘b’.
Langkah 5 - Lelaran pada rentetan menggunakan gelung bersarang.
Langkah 6 − Dalam gelung bersarang, jika aksara semasa rentetan yang diberikan adalah sama dengan 'a', gantikan aksara semasa dengan 'b' dalam sementara watak String in.
Langkah 7 - Kembalikan nilai temp.
Contoh
#include <bits/stdc++.h> using namespace std; string replaceChars(string str, vector<vector<char>> pairs){ // stror the size of the string and the array int N = str.size(), M = pairs.size(); // Create a copy of the string str string temp = str; // Iterate over the array for (int x = 0; x < M; x++){ // store the characters from the pair char a = pairs[x][0], b = pairs[x][1]; // iterate over the string for (int y = 0; y < N; y++){ // If the character is equal to a, then replace it with b if (str[y] == a){ temp[y] = b; } } } return temp; } int main(){ string str = "abderb"; vector<vector<char>> pairs{{'a', 'e'}, {'b', 't'}, {'e', 'f'}, {'r', 's'}}; cout << "The string after replacing with the given characters is - " << replaceChars(str, pairs); return 0; }
Output
The string after replacing with the given characters is - etdfst
Kerumitan masa - O(N*M), dengan N ialah panjang rentetan dan M ialah panjang tatasusunan pasangan aksara.
Kerumitan ruang - O(N), kerana kami menyimpan rentetan baharu dalam pembolehubah temp.
Kaedah 2
Dalam kaedah ini, kita boleh membuat tatasusunan saiz 26. Kami kemudiannya boleh menyimpan aksara yang boleh diganti pada kedudukan aksara semasa. Akhir sekali, kita boleh mengambil elemen yang boleh diganti daripada tatasusunan dan mengemas kini setiap aksara rentetan.
Algoritma
Langkah 1 - Dapatkan saiz rentetan sebagai 'N' dan saiz tatasusunan sebagai 'M'.
Langkah 2 - Tentukan tatasusunan "awal" dan "akhir" dengan panjang 26.
Langkah 3 - Gelung melalui rentetan dan simpan str[Y] dalam indeks tatasusunan awal dan akhir "str[Y] - a". Di sini, str[Y] - 'a' memberikan indeks antara 0 dan 25 berdasarkan nilai ASCII aksara.
Langkah 4 - Ulangi tatasusunan pasangan aksara yang diberikan. Dalam gelung, gunakan gelung bersarang untuk lelaran ke atas tatasusunan awal. Jika aksara pertama pasangan semasa adalah sama dengan aksara tatasusunan "awal", aksara tatasusunan "akhir" dikemas kini dengan aksara kedua pasangan semasa.
Langkah 5 − Takrifkan pembolehubah 'hasil' dan mulakannya kepada rentetan kosong.
Langkah 6 - Lelaran melalui rentetan input, dapatkan aksara yang sepadan dengan aksara semasa daripada tatasusunan "akhir", dan tambahkannya pada rentetan "hasil".
Langkah 7 - Kembalikan rentetan 'hasil'.
Sebab mengapa str[Y] disimpan dalam kedudukan 'str[Y] - a' tatasusunan awal dan akhir ialah jika mana-mana aksara wujud dalam rentetan tetapi tidak dalam pasangan aksara, kita boleh Kekalkannya tidak berubah.
Contoh
#include <bits/stdc++.h> using namespace std; // Function to replace the characters in the string string replaceChars(string str, vector<vector<char>> pairs){ // getting the size of the string and the vector int N = str.size(), M = pairs.size(); // Declare two arrays of size 26 char initial[26]; char final[26]; // Check all existing characters in the string for (int Y = 0; Y < N; Y++){ initial[str[Y] - 'a'] = str[Y]; final[str[Y] - 'a'] = str[Y]; } // Iterate over the range [0, M] for (int X = 0; X < M; X++){ // get characters from the vector char a = pairs[X][0], b = pairs[X][1]; // Iterate over the range [0, 26] for (int Y = 0; Y < 26; Y++){ // If the character is the same as a, then replace it with b in the final array if (initial[Y] == a){ final[Y] = b; } } } string result = ""; // get the final string using the final array for (int Y = 0; Y < N; Y++){ result += final[str[Y] - 'a']; } return result; } int main(){ string str = "aberb"; vector<vector<char>> pairs{{'a', 'e'}, {'b', 't'}, {'e', 'f'}, {'r', 's'}}; cout << "The string after replacing with the given characters is - " << replaceChars(str, pairs); return 0; }
Output
The string after replacing with the given characters is - etfst
Kerumitan masa - O(N), sebagai gelung bersarang, lelaran berterusan sahaja.
Kerumitan ruang - O(1), kerana ia menggunakan tatasusunan panjang 26, yang malar.
Atas ialah kandungan terperinci Mengubah suai rentetan dengan menggantikan semua kemunculan aksara tertentu dengan aksara gantian yang ditentukan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat 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



Dalam PHP, ungkapan biasa ialah alat yang sangat berkuasa yang boleh membantu kami memproses dan menukar rentetan dengan mudah. Menggunakan ungkapan biasa, anda boleh mencapai operasi yang cekap dan fleksibel pada rentetan, seperti mencari rentetan dengan corak tertentu, menggantikan rentetan yang sepadan, dsb. Dalam artikel ini, kita akan membincangkan cara menggunakan ungkapan biasa untuk menggantikan aksara tertentu dalam rentetan dengan aksara lain. Ini adalah keperluan biasa, seperti menggantikan teg HTML dalam sekeping teks dengan teks biasa, atau menggantikan jadual Emoji dalam sekeping teks.

Dalam Python, kami mempunyai fungsi rstrip() yang telah ditetapkan untuk mengalih keluar aksara di sebelah kanan. Ini bermakna ia akan mengalih keluar ruang di sebelah kanan rentetan. Mari kita ambil contoh untuk memahami cara memangkas dari sebelah kiri rentetan. Mengeluarkan rentetan kanan LESS daripada rentetan yang diberikan "WIRELESS" dan mendapat nilai yang terhasil sebagai "WIRE". Dalam rentetan "kerajaan" yang diberikan, padamkan rentetan dom di sebelah kanan dan dapatkan nilai hasil sebagai "raja". Sintaks Sintaks yang digunakan dalam contoh berikut ialah −isspace() yang merupakan kaedah yang dipratentukan dalam Python untuk membenarkan ruang putih, baris baharu atau ruang dalam aksara. rstrip("parameterasastri

Rentetan ialah satu set aksara. Kita juga boleh memanggilnya tatasusunan aksara. Pertimbangkan tatasusunan aksara yang terdiri daripada rentetan dengan indeks dan nilai tertentu. Kadangkala kita boleh membuat beberapa pengubahsuaian pada rentetan, salah satu pengubahsuaian adalah untuk menggantikan aksara dengan menyediakan indeks tertentu. Dalam artikel ini, kita akan melihat cara untuk menggantikan aksara daripada indeks tertentu dalam rentetan menggunakan C++ Syntax String_variable[<givenindex>]=<newcharacter> wujud

Kaedah split() kelas String. Pisahkan rentetan semasa kepada padanan ungkapan biasa yang diberikan. Tatasusunan yang dikembalikan oleh kaedah ini mengandungi setiap subrentetan rentetan ini yang ditamatkan oleh subrentetan lain yang sepadan dengan ungkapan yang diberikan atau ditamatkan pada penghujung rentetan. Kaedah replaceAll() kelas String menerima dua rentetan yang mewakili ungkapan biasa dan rentetan gantian dan menggantikan nilai yang sepadan dengan rentetan yang diberikan. Gantikan semua aksara dalam fail kecuali perkataan tertentu dengan "#" (sehala) - baca kandungan fail ke dalam rentetan. Buat objek StringBuffer kosong. Gunakan kaedah split() untuk memecah rentetan yang diperoleh ke dalam tatasusunan String. habis semua

Dalam Python, kita boleh menggantikan aksara dengan mudah pada indeks tertentu dengan menukar rentetan kepada senarai aksara, menggunakan kaedah list(). Kami kemudian mengubah suai aksara pada indeks yang dikehendaki dan menggunakan kaedah join() untuk menukar senarai kembali kepada rentetan. Kami juga boleh menggantikan aksara pada indeks tertentu menggunakan kaedah potong dan ganti. Dalam artikel ini, kita akan melihat contoh menggantikan aksara pada indeks tertentu dalam Python menggunakan kaedah senarai dan gabungan, kaedah penghirisan dan kaedah ganti. Kaedah 1: Gunakan senarai() dan join() kaedah sintaks senarai() senarai kaedah(jujukan) Kaedah list() menerima jujukan (seperti rentetan, tuple atau set) sebagai parameter dan mengembalikan tertentu

Dalam masalah ini, kita perlu menggantikan aksara rentetan yang diberikan berdasarkan aksara yang diberikan dalam tatasusunan pasangan aksara. Kami akan membincangkan dua penyelesaian yang berbeza. Dalam kaedah pertama, kami menggantikan setiap aksara dengan mengulangi aksara dan pasangan aksara rentetan yang diberikan. Dalam kaedah kedua, kami akan menggunakan tatasusunan panjang 26 untuk menyimpan aksara gantian yang dikaitkan dengan setiap aksara dan menukar aksara rentetan yang diberikan. Pernyataan Masalah − Kami diberi rentetan str yang mengandungi N aksara abjad huruf kecil. Juga, kami diberi tatasusunan yang mengandungi pasangan aksara. Kita perlu menggantikan pasangan[i][0] aksara dalam rentetan yang diberikan dengan pasangan[i][1]. ContohInput–str="xyz"

Cara menggunakan pemprosesan borang Vue untuk melaksanakan penggantian aksara dalam medan borang Semasa membangunkan aplikasi web, borang adalah bahagian penting. Dalam sesetengah senario, kami mungkin perlu menggantikan aksara yang dimasukkan oleh pengguna untuk memenuhi keperluan format data atau melaksanakan fungsi tertentu. Sebagai rangka kerja bahagian hadapan yang popular, Vue.js menyediakan keupayaan pengikatan dan pemprosesan data yang berkuasa, menjadikan pemprosesan borang lebih mudah. Artikel ini akan memperkenalkan cara menggunakan Vue.js untuk melaksanakan fungsi penggantian aksara bagi medan borang dan menyediakan contoh kod. pertama,

Dalam artikel ini, kita akan membincangkan masalah algoritma yang menarik: "Minimumkan penggantian aksara dengan abjad terdekat untuk membuat palindrom rentetan Masalah ini menarik kerana ia melibatkan manipulasi rentetan, pemeriksaan palindrom dan Konsep nilai ASCII aksara." . Mari kita mendalami isu ini. Pernyataan Masalah Diberi rentetan, tugasnya adalah untuk menukarnya menjadi palindrom dengan bilangan penggantian minimum. Penggantian ini dicapai dengan menukar aksara kepada abjad terdekatnya. Soalan Pemahaman Palindrom ialah urutan perkataan, frasa, nombor atau aksara lain yang dibaca ke belakang sama seperti ke hadapan. Matlamat kami adalah untuk meminimumkan jumlah penggantian yang diperlukan untuk menukar rentetan yang diberikan kepada palindrom. Sebagai contoh, pertimbangkan rentetan "abc". Untuk menukarnya kepada palindrom kita boleh menukar "
