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:
- Hasonlítsa össze mindkét szál hosszát.
- Ha mindkét karakterlánc hossza nem azonos, az azt jelenti, hogy nem lehetnek egymás anagrammái. Így adja vissza hamisan.
- Ha mindkét húr hossza megegyezik, folytassa tovább.
- Rendezze mindkét karakterláncot.
- Hasonlítsa össze mindkét rendezett karakterláncot.
- Ha mindkét rendezett karakterlánc megegyezik, az azt jelenti, hogy egymás anagrammái. Így térjen vissza az igazhoz.
- 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áraFejleszteni 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 -hozOlvassa tovább Kapcsolódó témák
- Programozás
- JavaScript
- Piton
- C Programozás
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 ChandraIratkozzon 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