Hogyan lehet ellenőrizni, hogy két karakterlánc -e egymáshoz tartozógramma

Hogyan lehet ellenőrizni, hogy két karakterlánc -e egymáshoz tartozógramma

Az anagramma egy karakterlánc, amely egy másik karakterlánc betűinek átrendezésével jön létre. Annak ellenőrzése, hogy két húr egymás anagrammája, nehéznek tűnhet, de ez csak egy kicsit trükkös és megtévesztően egyszerű. Ebben a cikkben megtudhatja, hogyan ellenőrizheti, hogy két karakterlánc egymás anagrammája a C ++, a Python és a JavaScript használatával.



Problémajelentés

Két s1 és s2 karakterláncot kap, ellenőriznie kell, hogy a két karakterlánc egymás anagrammája vagy sem.



1. példa : Legyen s1 = 'kreatív' és s2 = 'reaktív'.



Mivel a második karakterlánc az első karakter betűinek átrendezésével és fordítva is kialakítható, így a két karakterlánc egymás anagrammája.

2. példa : Legyen s1 = 'Peter Piper leszedett egy csipet pácolt paprikát' és s2 = 'Egy csipet pácolt pácolt párat'.



Mivel a második karakterlánc nem hozható létre az első karakter betűinek átrendezésével és fordítva, így a két karakterlánc nem egymás anagrammája.

Eljárás annak ellenőrzésére, hogy két karakterlánc -e egymásnak az analógja

Az alábbi módszert követve ellenőrizheti, hogy a két karakterlánc egymás anagrammája:

  1. Hasonlítsa össze mindkét szál hosszát.
  2. Ha mindkét karakterlánc hossza nem azonos, az azt jelenti, hogy nem lehetnek egymás anagrammái. Így adja vissza hamisan.
  3. Ha mindkét húr hossza megegyezik, folytassa tovább.
  4. Rendezze mindkét karakterláncot.
  5. Hasonlítsa össze mindkét rendezett karakterláncot.
  6. Ha mindkét rendezett karakterlánc megegyezik, az azt jelenti, hogy egymás anagrammái. Így térjen vissza az igazhoz.
  7. Ha mindkét rendezett karakterlánc eltér egymástól, az azt jelenti, hogy nem anagrammái egymásnak. Így adja vissza hamisan.

Összefüggő: Hogyan lehet ellenőrizni, hogy a karakterlánc palindrom -e

C ++ program annak ellenőrzésére, hogy két karakterlánc -e egymásnak a diagramja

Az alábbiakban a C ++ programmal ellenőrizhetjük, hogy két karakterlánc egymás anagrammája vagy sem:

#include
using namespace std;
bool checkAnagrams(string s1, string s2)
{
int size1 = s1.length();
int size2 = s2.length();
// If the length of both strings are not the same,
// it means they can't be anagrams of each other.
// Thus, return false.
if (size1 != size2)
{
return false;
}
sort(s1.begin(), s1.end());
sort(s2.begin(), s2.end());
for (int i = 0; i {
if (s1[i] != s2[i])
{
return false;
}
}
return true;
}
int main()
{
string s1 = 'listen';
string s2 = 'silent';
cout << 'String 1: ' << s1 << endl;
cout << 'String 2: ' << s2 << endl;
if(checkAnagrams(s1, s2))
{
cout << 'Yes, the two strings are anagrams of each other' << endl;
}
else
{
cout << 'No, the two strings are not anagrams of each other' << endl;
}
string s3 = 'Welcome to MUO';
string s4 = 'MUO to Welcome';
cout << 'String 3: ' << s3 << endl;
cout << 'String 4: ' << s4 << endl;
if(checkAnagrams(s3, s4))
{
cout << 'Yes, the two strings are anagrams of each other' << endl;
}
else
{
cout << 'No, the two strings are not anagrams of each other' << endl;
}
string s5 = 'Peter Piper picked a peck of pickled peppers';
string s6 = 'A peck of pickled peppers Peter Piper picked';
cout << 'String 5: ' << s5 << endl;
cout << 'String 6: ' << s6 << endl;
if(checkAnagrams(s5, s6))
{
cout << 'Yes, the two strings are anagrams of each other' << endl;
}
else
{
cout << 'No, the two strings are not anagrams of each other' << endl;
}
string s7 = 'She sells seashells by the seashore';
string s8 = 'seashells by the seashore';
cout << 'String 7: ' << s7 << endl;
cout << 'String 8: ' << s8 << endl;
if(checkAnagrams(s7, s8))
{
cout << 'Yes, the two strings are anagrams of each other' << endl;
}
else
{
cout << 'No, the two strings are not anagrams of each other' << endl;
}
string s9 = 'creative';
string s10 = 'reactive';
cout << 'String 9: ' << s9 << endl;
cout << 'String 10: ' << s10 << endl;
if(checkAnagrams(s9, s10))
{
cout << 'Yes, the two strings are anagrams of each other' << endl;
}
else
{
cout << 'No, the two strings are not anagrams of each other' << endl;
}
return 0;
}

Kimenet:

String 1: listen
String 2: silent
Yes, the two strings are anagrams of each other
String 3: Welcome to MUO
String 4: MUO to Welcome
Yes, the two strings are anagrams of each other
String 5: Peter Piper picked a peck of pickled peppers
String 6: A peck of pickled peppers Peter Piper picked
No, the two strings are not anagrams of each other
String 7: She sells seashells by the seashore
String 8: seashells by the seashore
No, the two strings are not anagrams of each other
String 9: creative
String 10: reactive
Yes, the two strings are anagrams of each other

Kapcsolódó: Hogyan lehet megszámolni egy adott karakter előfordulásait egy karakterláncban

Python program annak ellenőrzésére, hogy két karakterlánc -e egymáshoz tartozógramma

Az alábbiakban a Python program ellenőrzi, hogy két karakterlánc egymás anagrammája vagy sem:

def checkAnagrams(s1, s2):
size1 = len(s1)
size2 = len(s2)
# If the length of both strings are not the same,
# it means they can't be anagrams of each other.
# Thus, return false.
if size1 != size2:
return 0
s1 = sorted(s1)
s2 = sorted(s2)
for i in range(0, size1):
if s1[i] != s2[i]:
return False
return True

s1 = 'listen'
s2 = 'silent'
print('String 1: ', s1)
print('String 2: ', s2)
if(checkAnagrams(s1, s2)):
print('Yes, the two strings are anagrams of each other')
else:
print('No, the two strings are not anagrams of each other')
s3 = 'Welcome to MUO'
s4 = 'MUO to Welcome'
print('String 3: ', s3)
print('String 4: ', s4)
if(checkAnagrams(s3, s4)):
print('Yes, the two strings are anagrams of each other')
else:
print('No, the two strings are not anagrams of each other')
s5 = 'Peter Piper picked a peck of pickled peppers'
s6 = 'A peck of pickled peppers Peter Piper picked'
print('String 5: ', s5)
print('String 6: ', s6)
if(checkAnagrams(s5, s6)):
print('Yes, the two strings are anagrams of each other')
else:
print('No, the two strings are not anagrams of each other')
s7 = 'She sells seashells by the seashore'
s8 = 'seashells by the seashore'
print('String 7: ', s7)
print('String 8: ', s8)
if(checkAnagrams(s7, s8)):
print('Yes, the two strings are anagrams of each other')
else:
print('No, the two strings are not anagrams of each other')
s9 = 'creative'
s10 = 'reactive'
print('String 9: ', s9)
print('String 10: ', s10)
if(checkAnagrams(s9, s10)):
print('Yes, the two strings are anagrams of each other')
else:
print('No, the two strings are not anagrams of each other')

Kimenet:

String 1: listen
String 2: silent
Yes, the two strings are anagrams of each other
String 3: Welcome to MUO
String 4: MUO to Welcome
Yes, the two strings are anagrams of each other
String 5: Peter Piper picked a peck of pickled peppers
String 6: A peck of pickled peppers Peter Piper picked
No, the two strings are not anagrams of each other
String 7: She sells seashells by the seashore
String 8: seashells by the seashore
No, the two strings are not anagrams of each other
String 9: creative
String 10: reactive
Yes, the two strings are anagrams of each other

Kapcsolódó: Hogyan találunk magánhangzókat, mássalhangzókat, számjegyeket és különleges karaktereket egy karakterláncban

Ellenőrizze, hogy két karakterlánc -e egymáshoz tartozógramma a JavaScriptben

Az alábbiakban a JavaScript program ellenőrzi, hogy két karakterlánc egymás anagrammája vagy sem:

function checkAnagrams(s1, s2) {
let size1 = s1.length;
let size2 = s2.length;
// If the length of both strings are not the same,
// it means they can't be anagrams of each other.
// Thus, return false.
if (size1 != size2)
{
return false;
}
s1.sort();
s2.sort();
for (let i = 0; i {
if (s1[i] != s2[i])
{
return false;
}
}
return true;
}

var s1 = 'listen';
var s2 = 'silent';
document.write('String 1: ' + s1 + '
');
document.write('String 2: ' + s2 + '
');
if(checkAnagrams(s1.split(''), s2.split(''))) {
document.write('Yes, the two strings are anagrams of each other' + '
');
} else {
document.write('No, the two strings are not anagrams of each other' + '
');
}
var s3 = 'Welcome to MUO';
var s4 = 'MUO to Welcome';
document.write('String 3: ' + s3 + '
');
document.write('String 4: ' + s4 + '
');
if(checkAnagrams(s3.split(''), s4.split(''))) {
document.write('Yes, the two strings are anagrams of each other' + '
');
} else {
document.write('No, the two strings are not anagrams of each other' + '
');
}
var s5 = 'Peter Piper picked a peck of pickled peppers';
var s6 = 'A peck of pickled peppers Peter Piper picked';
document.write('String 5: ' + s5 + '
');
document.write('String 6: ' + s6 + '
');
if(checkAnagrams(s5.split(''), s6.split(''))) {
document.write('Yes, the two strings are anagrams of each other' + '
');
} else {
document.write('No, the two strings are not anagrams of each other' + '
');
}
var s7 = 'She sells seashells by the seashore';
var s8 = 'seashells by the seashore';
document.write('String 7: ' + s7 + '
');
document.write('String 8: ' + s8 + '
');
if(checkAnagrams(s7.split(''), s8.split(''))) {
document.write('Yes, the two strings are anagrams of each other' + '
');
} else {
document.write('No, the two strings are not anagrams of each other' + '
');
}
var s9 = 'creative';
var s10 = 'reactive';
document.write('String 9: ' + s9 + '
');
document.write('String 10: ' + s10 + '
');
if(checkAnagrams(s9.split(''), s10.split(''))) {
document.write('Yes, the two strings are anagrams of each other' + '
');
} else {
document.write('No, the two strings are not anagrams of each other' + '
');
}

Kimenet:

String 1: listen
String 2: silent
Yes, the two strings are anagrams of each other
String 3: Welcome to MUO
String 4: MUO to Welcome
Yes, the two strings are anagrams of each other
String 5: Peter Piper picked a peck of pickled peppers
String 6: A peck of pickled peppers Peter Piper picked
No, the two strings are not anagrams of each other
String 7: She sells seashells by the seashore
String 8: seashells by the seashore
No, the two strings are not anagrams of each other
String 9: creative
String 10: reactive
Yes, the two strings are anagrams of each other

Összefüggő: Hogyan találja meg a karakter ASCII értékét?

Használja a megfelelő erőforrásokat a kódolás megtanulásához

Ha szeretné megerősíteni kódolási készségeit, akkor fontos új fogalmak elsajátítása és ezek használatával töltött idő. Ennek egyik módja a programozó alkalmazások, amelyek segítenek elsajátítani a különböző programozási koncepciókat, miközben egyszerre szórakoznak.

Részvény Részvény Csipog Email 8 alkalmazás, amely segít megtanulni kódolni a nemzetközi programozók napjára

Fejleszteni szeretné kódolási készségeit? Ezek az alkalmazások és webhelyek segítenek abban, hogy saját tempójában tanulja meg a programozást.

csatlakoztathatom a bluetooth fejhallgatót az xbox one -hoz
Olvassa tovább Kapcsolódó témák
  • Programozás
  • JavaScript
  • Piton
  • C Programozás
A szerzőről Yuvraj Chandra(60 cikk megjelent)

Yuvraj egy számítástechnikai egyetemi hallgató a Delhi Egyetemen, Indiában. Szenvedélyesen foglalkozik a Full Stack webfejlesztéssel. Amikor nem ír, a különböző technológiák mélységét kutatja.

Bővebben: Yuvraj Chandra

Iratkozzon fel hírlevelünkre

Csatlakozz hírlevelünkhöz, ahol technikai tippeket, értékeléseket, ingyenes e -könyveket és exkluzív ajánlatokat találsz!

Feliratkozáshoz kattintson ide