Jadual Kandungan
CONTOHCONTOH
kaedah satu
Algoritma
Contoh
Output
KESIMPULAN
Rumah pembangunan bahagian belakang C++ Menyemak sama ada semua aksara dalam rentetan boleh dibuat sama dengan menambah atau mengurangkan

Menyemak sama ada semua aksara dalam rentetan boleh dibuat sama dengan menambah atau mengurangkan

Sep 11, 2023 am 11:25 AM
Pemprosesan rentetan Watak adalah sama Menambah atau mengurangkan operasi

Menyemak sama ada semua aksara dalam rentetan boleh dibuat sama dengan menambah atau mengurangkan

Dalam masalah ini, kita perlu menyemak sama ada semua aksara rentetan boleh dibuat sama dengan menambah dan mengurangkan operasi. Kita boleh mendapatkan berat setiap aksara berdasarkan nilai ASCIInya dan menyemak sama ada jumlah berat boleh digunakan untuk menjadikan semua aksara sama.

Pernyataan Masalah – Kami diberi rentetan rentetan panjang N yang mengandungi aksara abjad huruf kecil. Kita perlu menyemak sama ada kita boleh membuat semua aksara dalam rentetan sama dengan memilih salah satu daripada dua aksara, meningkatkan satu aksara, dan kemudian mengurangkan aksara lain sebanyak 1. Mencetak "ya" jika boleh, jika tidak mencetak "tidak".

CONTOHCONTOH

Enter – str = ‘aedb

Output-str = ‘aedb

Penjelasan - ‘a’ boleh meningkat sebanyak 2 dan ‘e’ boleh berkurangan sebanyak 2. Pada masa yang sama, 'b' boleh ditambah dengan 1 dan 'd' boleh ditambah dengan 1. Oleh itu, rentetan yang terhasil boleh menjadi 'cccc'.

Enter – str = ‘abd’

Output-“Tidak”

Penjelasan – Kita tidak boleh menjadikan semua aksara rentetan sama dengan menambah dan mengurangkan operasi

Masuk -‘g’

Output - ‘Ya’

Penjelasan – Rentetan mengandungi hanya satu aksara, jadi semua aksara rentetan sudah sama

kaedah satu

Dalam kaedah ini, kami akan mengira jumlah berat aksara rentetan. Wajaran aksara ditakrifkan sebagai ‘a’ = 1, ‘b’ = 2, ‘c’ = 3, …, ‘z’ = 26. Jadi jika kita membahagikan jumlah berat dengan panjang rentetan, kita boleh mengatakan bahawa dengan menambah satu aksara dan mengurangkan satu lagi, kita menjadikan semua aksara rentetan itu sama.

Algoritma

  • Tentukan pembolehubah "len" dan gunakan kaedah size() untuk menyimpan saiz rentetan.

  • Takrifkan pembolehubah "totalWeight" untuk menyimpan jumlah berat semua aksara rentetan tertentu​​

  • Dapatkan berat aksara tertentu menggunakan kod ASCII setiap aksara dan tambahkannya pada pembolehubah "totalWeight".

  • Kembalikan benar jika nilai "totalWeight" boleh dibahagi dengan "len". Jika tidak, pulangan palsu.

Contoh

#include <iostream>
using namespace std;

// function to check if all characters of a string can be made equal by incrementing or decrementing by 1
bool canMakeEqual(string str){
   int len = str.size();
   // store sum of ASCII values of characters
   int totalWeight = 0;
   // Iterate over the string
   for (int i = 0; i < len; i++){
      // get the ASCII value of each character
      totalWeight += str[i] - 'a' + 1;
   }
   return (totalWeight % len == 0);
}
int main(){
   string str = "aedb";
   if (canMakeEqual(str))
      cout << "Yes";
   else
      cout << "No";
   return 0;
}
Salin selepas log masuk

Output

Yes
Salin selepas log masuk

Kerumitan masa - O(N), kerana kita mengulangi rentetan.

Kerumitan ruang - O(1) kerana kami menggunakan ruang malar.

KESIMPULAN

Kami belajar untuk menyemak sama ada semua aksara rentetan boleh sama dengan menambah dan mengurangkan nilai ASCII aksara itu. Kami menyelesaikan masalah ini dari segi "jumlah berat". Pengguna juga boleh cuba mencari rentetan yang terhasil. Untuk mencari rentetan yang terhasil, cari nilai ASCII yang sepadan dengan (totalWeight/len) dan tambahkan aksara "len" pada rentetan yang diberikan.

Atas ialah kandungan terperinci Menyemak sama ada semua aksara dalam rentetan boleh dibuat sama dengan menambah atau mengurangkan. 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)

Terangkan dalam istilah mudah: Penjelasan terperinci tentang pelarian rentetan dan anti pelarian dalam bahasa GO Terangkan dalam istilah mudah: Penjelasan terperinci tentang pelarian rentetan dan anti pelarian dalam bahasa GO Apr 07, 2024 am 10:39 AM

Dalam bahasa Go, rentetan melarikan diri menggunakan garisan ke belakang (\`) ditambah aksara khas untuk mewakili aksara khas, seperti aksara baris baharu (\n). Anti-melarikan diri menggunakan kutu belakang (\`) untuk mengalih keluar aksara yang terlepas dan memulihkan aksara asalnya, seperti \n mewakili aksara baris baharu yang sebenar. Kes praktikal menunjukkan aplikasi melarikan diri, anti melarikan diri dan anti melarikan diri dalam pembacaan fail.

Amalan terbaik untuk menukar rentetan kepada nombor titik terapung dalam PHP Amalan terbaik untuk menukar rentetan kepada nombor titik terapung dalam PHP Mar 28, 2024 am 08:18 AM

Menukar rentetan kepada nombor titik terapung dalam PHP ialah keperluan biasa semasa proses pembangunan Contohnya, medan jumlah yang dibaca daripada pangkalan data adalah daripada jenis rentetan dan perlu ditukar kepada nombor titik terapung untuk pengiraan berangka. Dalam artikel ini, kami akan memperkenalkan amalan terbaik untuk menukar rentetan kepada nombor titik terapung dalam PHP dan memberikan contoh kod khusus. Pertama sekali, kita perlu menjelaskan dengan jelas bahawa terdapat dua cara utama untuk menukar rentetan kepada nombor titik terapung dalam PHP: menggunakan penukaran jenis (float) atau menggunakan fungsi (floatval). Di bawah ini kami akan memperkenalkan kedua-dua ini

Ralat yang mungkin berlaku dalam pemprosesan rentetan PHP dan cara membetulkannya Ralat yang mungkin berlaku dalam pemprosesan rentetan PHP dan cara membetulkannya May 11, 2023 pm 05:21 PM

PHP ialah bahasa pengaturcaraan dinamik yang digunakan secara meluas yang mempunyai pelbagai aplikasi, terutamanya dalam pembangunan aplikasi web. Pemprosesan rentetan adalah salah satu fungsi yang paling biasa digunakan dalam PHP, tetapi sering kali pembangun menghadapi pelbagai ralat dan masalah semasa memproses rentetan. Dalam artikel ini, kami akan meneroka beberapa masalah biasa yang mungkin anda hadapi semasa pemprosesan rentetan PHP dan cara menyelesaikannya. Isu Pengekodan Aksara Semasa memproses rentetan, isu biasa ialah pengekodan aksara. Terdapat banyak pengekodan aksara yang berbeza, yang paling biasa ialah UT

Kuasai ungkapan biasa dan pemprosesan rentetan dalam bahasa Go Kuasai ungkapan biasa dan pemprosesan rentetan dalam bahasa Go Nov 30, 2023 am 09:54 AM

Sebagai bahasa pengaturcaraan moden, bahasa Go menyediakan ungkapan biasa yang berkuasa dan fungsi pemprosesan rentetan, membolehkan pembangun memproses data rentetan dengan lebih cekap. Adalah sangat penting bagi pembangun untuk menguasai ungkapan biasa dan pemprosesan rentetan dalam bahasa Go. Artikel ini akan memperkenalkan secara terperinci konsep asas dan penggunaan ungkapan biasa dalam bahasa Go dan cara menggunakan bahasa Go untuk memproses rentetan. 1. Ungkapan biasa Ungkapan biasa ialah alat yang digunakan untuk menerangkan corak rentetan Mereka boleh melaksanakan operasi dengan mudah seperti padanan rentetan, carian dan penggantian.

Kuasai rahsia melarikan diri dan anti melarikan diri dalam bahasa GO Kuasai rahsia melarikan diri dan anti melarikan diri dalam bahasa GO Apr 07, 2024 pm 04:33 PM

String escaping menggunakan garis miring ke belakang untuk mewakili aksara khas sebagai jujukan melarikan diri, manakala unescaping mengembalikan jujukan melarikan diri kepada aksara sebenar. Bahasa Go menyokong urutan pelarian berikut: \n (suapan baris), \t (tab), \r (pemulangan pengangkutan), \f (suapan borang), \a (penggera), \b (ruang belakang) ), \ v (tab menegak), sebagai tambahan kepada sengkang terbalik itu sendiri, petikan tunggal dan petikan berganda. Literal rentetan mentah disertakan dalam tanda belakang dan tiada aksara yang terlepas. Aksara melarikan diri berguna dalam kod HTML dan data JSON untuk memaparkan atau melepaskan aksara khas.

Pemprosesan rentetan PHP: penjelasan terperinci tentang cara mengalih keluar semua ruang Pemprosesan rentetan PHP: penjelasan terperinci tentang cara mengalih keluar semua ruang Mar 23, 2024 pm 06:51 PM

PHP ialah bahasa pengaturcaraan yang berkuasa yang digunakan secara meluas dalam pembangunan web. Dalam proses pembangunan web, kami sering menghadapi situasi di mana rentetan perlu diproses, dan mengalih keluar ruang daripada rentetan adalah keperluan biasa. Artikel ini akan memperkenalkan secara terperinci cara mengalih keluar semua ruang daripada rentetan dalam PHP dan memberikan contoh kod tertentu. 1. Gunakan fungsi str_replace Fungsi str_replace ialah fungsi penggantian rentetan yang biasa digunakan dalam PHP. Ia boleh menggantikan aksara tertentu dengan aksara lain. Dengan menggunakan fungsi ini, anda boleh

Bagaimana untuk mengalih keluar aksara tertentu daripada rentetan dalam PHP menggunakan ungkapan biasa Bagaimana untuk mengalih keluar aksara tertentu daripada rentetan dalam PHP menggunakan ungkapan biasa Jun 22, 2023 pm 03:46 PM

Dalam PHP, anda boleh mengalih keluar aksara tertentu dengan mudah daripada rentetan menggunakan ungkapan biasa. Ungkapan biasa ialah alat berkuasa yang membantu kami memadankan dan memanipulasi teks berdasarkan corak yang ditentukan. Dalam artikel ini, kami akan memperkenalkan cara menggunakan ungkapan biasa untuk mengalih keluar aksara tertentu daripada rentetan dan cara menggunakan fungsi preg_replace dalam PHP untuk mencapai matlamat ini. Menggunakan ungkapan biasa untuk menggantikan aksara tertentu "." dalam ungkapan biasa mengenal pasti mana-mana aksara tunggal, kita boleh gunakan

Apakah 7 fungsi pemprosesan rentetan PHP? Apakah 7 fungsi pemprosesan rentetan PHP? Sep 18, 2023 pm 02:14 PM

Tujuh fungsi pemprosesan rentetan PHP termasuk strlen(), strpos(), substr(), str_replace(), strtolower(), strtoupper(), trim(), dll. Pengenalan terperinci: 1. strlen(), digunakan untuk mendapatkan panjang rentetan; 2. strpos(), digunakan untuk mencari subrentetan tertentu dalam rentetan dan mengembalikan kedudukan kejadian pertama; daripada rentetan; 4. str_replace(), dsb.

See all articles