Autors Yuvraj Chandra
Dalīties
E-pasts

Salīdzinājums, ja divas teksta virknes ir anagrammas, ir lielisks problēmu risināšanas uzdevums, lai uzlabotu programmēšanas prasmes.

Anagramma ir virkne, kas izveidota, pārkārtojot citas virknes burtus. Pārbaudīt, vai divas virknes ir viena otras anagrammas, var šķist grūti, taču tas ir tikai nedaudz grūts un mānīgi vienkāršs. Šajā rakstā jūs uzzināsiet, kā pārbaudīt, vai divas virknes ir viena otras anagrāmas, izmantojot C ++, Python un JavaScript.

Problēmas izklāsts

Jums tiek dotas divas virknes s1 un s2, jums jāpārbauda, ​​vai abas virknes ir viena otras anagrāmas vai nav.

1. piemērs: Ļaujiet s1 = "radošs" un s2 = "reaktīvs".

Tā kā otro virkni var veidot, pārkārtojot pirmās virknes burtus, un otrādi, tādējādi abas virknes ir viena otras anagrāmas.

2. piemērs: Ļaujiet s1 = "Pēteris Pipers noplūkāja marinētu piparu piku" un s2 = "Pekurs marinētu piparu noplūkts".

Tā kā otro virkni nevar izveidot, pārkārtojot pirmās virknes burtus, un otrādi, abas virknes nav viena otras anagramas.

Process, lai pārbaudītu, vai divas virknes ir viena otras anagrāmas

Varat sekot zemāk aprakstītajai pieejai, lai pārbaudītu, vai abas virknes ir viena otras anagrāmas:

  1. Salīdziniet abu virkņu garumu.
  2. Ja abu virkņu garums nav vienāds, tas nozīmē, ka tie nevar būt viens otra anagrami. Tādējādi atgriezieties nepatiesi.
  3. Ja abu virkņu garums ir vienāds, rīkojieties tālāk.
  4. Kārtojiet abas virknes.
  5. Salīdziniet abas sakārtotās virknes.
  6. Ja abas sakārtotās virknes ir vienādas, tas nozīmē, ka tās ir viena otras anagrāmas. Tādējādi atgriezieties patiess.
  7. Ja abas šķirotās virknes ir atšķirīgas, tas nozīmē, ka tās nav viena otras anagrāmas. Tādējādi atgriezieties nepatiesi.

Saistīts: Kā pārbaudīt, vai stīga ir palindroms

C ++ programma, lai pārbaudītu, vai divas virknes ir viena otras anagrāmas

Zemāk ir C ++ programma, lai pārbaudītu, vai divas virknes ir viena otras anagrāmas vai nav:

# iekļaut 
izmantojot nosaukumvietu std;
Bool check Anagrams (virkne s1, virkne s2)
{
int izmērs1 = s1.length ();
int izmērs2 = s2.length ();
// Ja abu virkņu garums nav vienāds,
// tas nozīmē, ka viņi nevar būt viens otra anagrami.
// Tādējādi atgriezieties nepatiesa.
ja (izmērs1! = izmērs2)
{
atgriezties nepatiesa;
}
kārtot (s1.begin (), s1.end ());
kārtot (s2.begin (), s2.end ());
par (int i = 0; i {
ja (s1 [i]! = s2 [i])
{
atgriezties nepatiesa;
}
}
atgriezties taisnība;
}
int main ()
{
virkne s1 = "klausīties";
virkne s2 = "kluss";
cout << "1. virkne:" << s1 << endl;
cout << "2. virkne:" << s2 << endl;
ja (pārbaudietAnagrammas (s1, s2))
{
cout << "Jā, abas stīgas ir viena otras anagrāmas" << endl;
}
cits
{
cout << "Nē, abas stīgas nav anagramas viena otrai" << endl;
}
string s3 = "Laipni lūdzam MUO";
string s4 = "MUO laipni gaidīti";
cout << "3. virkne:" << s3 << endl;
cout << "4. virkne:" << s4 << endl;
ja (pārbaudietAnagrammas (s3, s4))
{
cout << "Jā, abas stīgas ir viena otras anagrāmas" << endl;
}
cits
{
cout << "Nē, abas stīgas nav anagramas viena otrai" << endl;
}
string s5 = "Pīters Pipers noplūkāja marinētu papriku."
string s6 = "Pick Piper Piper noplūkts marinētu papriku";
cout << "5. virkne:" << s5 << endl;
cout << "6. virkne:" << s6 << endl;
ja (pārbaudietAnagrammas (s5, s6))
{
cout << "Jā, abas stīgas ir viena otras anagrāmas" << endl;
}
cits
{
cout << "Nē, abas stīgas nav anagramas viena otrai" << endl;
}
string s7 = "Viņa pārdod jūras gliemežvākus pie jūras";
string s8 = "jūras gliemežvāki pie jūras";
cout << "7. virkne:" << s7 << endl;
cout << "8. virkne:" << s8 << endl;
ja (checkAnagrams (s7, s8))
{
cout << "Jā, abas stīgas ir viena otras anagrāmas" << endl;
}
cits
{
cout << "Nē, abas stīgas nav anagramas viena otrai" << endl;
}
virkne s9 = "radoša";
virkne s10 = "reaktīvs";
cout << "9. virkne:" << s9 << endl;
cout << "10. virkne:" << s10 << endl;
ja (pārbaudietAnagrammas (s9, s10))
{
cout << "Jā, abas stīgas ir viena otras anagrāmas" << endl;
}
cits
{
cout << "Nē, abas stīgas nav anagramas viena otrai" << endl;
}
atgriešanās 0;
}

Izeja:

1. virkne: klausies
2. virkne: klusa
Jā, abas stīgas ir viena otras anagrammas
3. virkne: Laipni lūdzam MUO
4. virkne: MUO laipni gaidīti
Jā, abas stīgas ir viena otras anagrammas
5. virkne: Pīters Pipers noplūkāja marinētu papriku
6. virkne: Pick Piper Piper nopirka marinētu papriku
Nē, abas stīgas nav viena otras anagrammas
7. virkne: Viņa pārdod jūras gliemežvākus pie jūras
8. virkne: jūras gliemežvāki pie jūras
Nē, abas stīgas nav viena otras anagrammas
9. virkne: radoša
10. virkne: reaktīva
Jā, abas stīgas ir viena otras anagrammas

Saistīts: Kā saskaitīt dotās rakstzīmes gadījumus virknē

Python programma, lai pārbaudītu, vai divas virknes ir viena otras anagrāmas

Zemāk ir programma Python, lai pārbaudītu, vai divas virknes ir viena otras anagrāmas vai nav:

def pārbaudeAnagrammas (s1, s2):
size1 = len (s1)
size2 = len (s2)
# Ja abu virkņu garums nav vienāds,
# tas nozīmē, ka viņi nevar būt viens otra anagrami.
# Tādējādi atgriezieties nepatiesa.
ja size1! = size2:
atgriešanās 0
s1 = sakārtots (s1)
s2 = sakārtots (s2)
i diapazonā (0, izmērs1):
ja s1 [i]! = s2 [i]:
atgriezties Nepatiesa
atgriezties True
s1 = "klausīties"
s2 = "kluss"
drukāt ("1. virkne:", s1)
drukāt ("2. virkne:", s2)
ja (checkAnagrams (s1, s2)):
drukāt ("Jā, abas virknes ir viena otras anagrāmas")
cits:
drukāt ("Nē, abas virknes nav viena otras anagrāmas")
s3 = "Laipni lūdzam MUO"
s4 = "MUO sveicināti"
drukāt ("String 3:", s3)
drukāt ("4. virkne:", s4)
ja (checkAnagrams (s3, s4)):
drukāt ("Jā, abas virknes ir viena otras anagrāmas")
cits:
drukāt ("Nē, abas virknes nav viena otras anagrāmas")
s5 = "Pēteris Pipers noplūkāja marinētu piparu piku"
s6 = "Pick Piper Piper noplūkts marinētu papriku"
drukāt ("String 5:", s5)
drukāt ("String 6:", s6)
ja (checkAnagrams (s5, s6)):
drukāt ("Jā, abas virknes ir viena otras anagrāmas")
cits:
drukāt ("Nē, abas virknes nav viena otras anagrāmas")
s7 = "Viņa pārdod jūras gliemežvākus pie jūras"
s8 = "jūras gliemežvāki pie jūras"
drukāt ("7. virkne:", s7)
drukāt ("8. virkne:", s8)
ja (checkAnagrams (s7, s8)):
drukāt ("Jā, abas virknes ir viena otras anagrāmas")
cits:
drukāt ("Nē, abas virknes nav viena otras anagrāmas")
s9 = "radošs"
s10 = "reaktīvs"
drukāt ("9. virkne:", s9)
drukāt ("String 10:", s10)
ja (checkAnagrams (s9, s10)):
drukāt ("Jā, abas virknes ir viena otras anagrāmas")
cits:
drukāt ("Nē, abas virknes nav viena otras anagrāmas")

Izeja:

1. virkne: klausies
2. virkne: klusa
Jā, abas stīgas ir viena otras anagrammas
3. virkne: Laipni lūdzam MUO
4. virkne: MUO laipni gaidīti
Jā, abas stīgas ir viena otras anagrammas
5. virkne: Pīters Pipers noplūkāja marinētu papriku
6. virkne: Pick Piper Piper nopirka marinētu papriku
Nē, abas stīgas nav viena otras anagrammas
7. virkne: Viņa pārdod jūras gliemežvākus pie jūras
8. virkne: jūras gliemežvāki pie jūras
Nē, abas stīgas nav viena otras anagrammas
9. virkne: radoša
10. virkne: reaktīva
Jā, abas stīgas ir viena otras anagrammas

Saistīts: Kā atrast patskaņus, līdzskaņus, ciparus un īpašās rakstzīmes virknē

Pārbaudiet, vai divas virknes JavaScript ir viena no otras

Zemāk ir JavaScript programma, lai pārbaudītu, vai divas virknes ir viena otras anagrāmas vai nav:

funkciju pārbaudeAnagrammas (s1, s2) {
ļaujiet izmēram1 = s1.length;
ļaujiet size2 = s2.length;
// Ja abu virkņu garums nav vienāds,
// tas nozīmē, ka viņi nevar būt viens otra anagrami.
// Tādējādi atgriezieties nepatiesa.
ja (izmērs1! = izmērs2)
{
atgriezties nepatiesa;
}
s1.sort ();
s2.sort ();
par (lai i = 0; i {
ja (s1 [i]! = s2 [i])
{
atgriezties nepatiesa;
}
}
atgriezties taisnība;
}
var s1 = "klausīties";
var s2 = "kluss";
document.write ("1. virkne:" + s1 + "
");
document.write ("2. virkne:" + s2 + "
");
ja (checkAnagrams (s1.split (""), s2.split (""))) {
document.write ("Jā, abas virknes ir viena otras anagrāmas" + "
");
} cits
document.write ("Nē, abas virknes nav anagramas viena otrai" + "
");
}
var s3 = "Laipni lūdzam MUO";
var s4 = "MUO uz sveicienu";
document.write ("3. virkne:" + s3 + "
");
document.write ("4. virkne:" + s4 + "
");
ja (checkAnagrams (s3.split (""), s4.split (""))) {
document.write ("Jā, abas virknes ir viena otras anagrāmas" + "
");
} cits
document.write ("Nē, abas virknes nav anagramas viena otrai" + "
");
}
var s5 = "Pīters Pipers noplūkāja marinētu papriku piku";
var s6 = "Pick Piper Piper noplūkts marinētu papriku";
document.write ("5. virkne:" + s5 + "
");
document.write ("6. virkne:" + s6 + "
");
ja (checkAnagrams (s5.split (""), s6.split (""))) {
document.write ("Jā, abas virknes ir viena otras anagrāmas" + "
");
} cits
document.write ("Nē, abas virknes nav anagramas viena otrai" + "
");
}
var s7 = "Viņa pārdod jūras gliemežvākus pie jūras";
var s8 = "jūras gliemežvāki pie jūras";
document.write ("7. virkne:" + s7 + "
");
document.write ("8. virkne:" + s8 + "
");
ja (checkAnagrams (s7.split (""), s8.split (""))) {
document.write ("Jā, abas virknes ir viena otras anagrāmas" + "
");
} cits
document.write ("Nē, abas virknes nav anagramas viena otrai" + "
");
}
var s9 = "radošs";
var s10 = "reaktīvs";
document.write ("9. virkne:" + s9 + "
");
document.write ("String 10:" + s10 + "
");
ja (checkAnagrams (s9.split (""), s10.split (""))) {
document.write ("Jā, abas virknes ir viena otras anagrāmas" + "
");
} cits
document.write ("Nē, abas virknes nav anagramas viena otrai" + "
");
}

Izeja:

1. virkne: klausies
2. virkne: klusa
Jā, abas stīgas ir viena otras anagrammas
3. virkne: Laipni lūdzam MUO
4. virkne: MUO laipni gaidīti
Jā, abas stīgas ir viena otras anagrammas
5. virkne: Pīters Pipers noplūkāja marinētu papriku
6. virkne: Pick Piper Piper nopirka marinētu papriku
Nē, abas stīgas nav viena otras anagrammas
7. virkne: Viņa pārdod jūras gliemežvākus pie jūras
8. virkne: jūras gliemežvāki pie jūras
Nē, abas stīgas nav viena otras anagrammas
9. virkne: radoša
10. virkne: reaktīva
Jā, abas stīgas ir viena otras anagrammas

Saistīts: Kā atrast rakstura ASCII vērtību?

Izmantojiet pareizos resursus, lai iemācītos kodēt

Ja vēlaties nostiprināt savas kodēšanas prasmes, ir svarīgi iemācīties jaunus jēdzienus un pavadīt laiku to izmantošanai. Viens no veidiem, kā to izdarīt, ir ar programmēšanas lietotnēm, kas palīdzēs jums vienlaikus apgūt dažādas izklaides.

Dalīties
E-pasts
8 lietotnes, kas palīdzēs iemācīties kodēt Starptautisko programmētāju dienu

Vai vēlaties uzlabot savas kodēšanas prasmes? Šīs lietotnes un vietnes palīdzēs jums apgūt programmēšanu savā tempā.

Lasiet Tālāk

Saistītās tēmas
  • Programmēšana
  • JavaScript
  • Python
  • C Programmēšana
Par autoru
Yuvraj Chandra (Publicēti 43 raksti)

Yuvraj ir datorzinātņu bakalaura students Deli universitātē, Indijā. Viņš aizrauj pilnas skursteņa tīmekļa izstrādi. Kad viņš neraksta, viņš pēta dažādu tehnoloģiju dziļumu.

Vairāk no Yuvraj Chandra

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam par tehniskiem padomiem, atsauksmēm, bezmaksas e-grāmatām un ekskluzīviem piedāvājumiem!

Noklikšķiniet šeit, lai abonētu