Jadual Kandungan
Contoh contoh
Penerangan
kaedah satu
Algoritma
Contoh
Output
Kaedah 2
Rumah pembangunan bahagian belakang C++ Mengubah suai rentetan dengan menggantikan semua kemunculan aksara tertentu dengan aksara gantian yang ditentukan

Mengubah suai rentetan dengan menggantikan semua kemunculan aksara tertentu dengan aksara gantian yang ditentukan

Sep 08, 2023 am 10:17 AM
Penggantian watak Gantikan watak Pengubahsuaian rentetan

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'}}
Salin selepas log masuk
Output – ‘abc’
Salin selepas log masuk

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'}}
Salin selepas log masuk
Output – ‘etdfst’
Salin selepas log masuk

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;
}
Salin selepas log masuk

Output

The string after replacing with the given characters is - etdfst	
Salin selepas log masuk

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.

  • 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.

  • 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'.

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;
}
Salin selepas log masuk

Output

The string after replacing with the given characters is - etfst
Salin selepas log masuk

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!

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.

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)

Bagaimana untuk menggantikan aksara tertentu dalam rentetan dengan aksara lain dalam PHP menggunakan ungkapan biasa Bagaimana untuk menggantikan aksara tertentu dalam rentetan dengan aksara lain dalam PHP menggunakan ungkapan biasa Jun 23, 2023 am 09:46 AM

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.

Program Python: Potong rentetan dari sisi kanan rentetan Program Python: Potong rentetan dari sisi kanan rentetan Sep 08, 2023 pm 06:21 PM

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

Program C++: menggantikan aksara pada indeks tertentu Program C++: menggantikan aksara pada indeks tertentu Aug 25, 2023 pm 10:53 PM

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[&lt;givenindex&gt;]=&lt;newcharacter&gt; wujud

Tulis program dalam Java untuk menggantikan semua aksara dalam fail dengan '#' kecuali perkataan tertentu Tulis program dalam Java untuk menggantikan semua aksara dalam fail dengan '#' kecuali perkataan tertentu Sep 13, 2023 am 08:57 AM

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

Program Python untuk menggantikan aksara pada indeks tertentu Program Python untuk menggantikan aksara pada indeks tertentu Aug 19, 2023 am 09:41 AM

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

Mengubah suai rentetan dengan menggantikan semua kemunculan aksara tertentu dengan aksara gantian yang ditentukan Mengubah suai rentetan dengan menggantikan semua kemunculan aksara tertentu dengan aksara gantian yang ditentukan Sep 08, 2023 am 10:17 AM

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 Cara menggunakan pemprosesan borang Vue untuk melaksanakan penggantian aksara dalam medan borang Aug 10, 2023 pm 05:37 PM

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,

Minimumkan penggantian aksara kepada huruf terdekatnya, menjadikan rentetan itu sebagai palindrom Minimumkan penggantian aksara kepada huruf terdekatnya, menjadikan rentetan itu sebagai palindrom Sep 15, 2023 pm 12:25 PM

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 "

See all articles