Å sammenligne om to tekststrenger er anagrammer, er en stor problemløsningsoppgave for å forbedre programmeringsferdighetene.
Et anagram er en streng dannet ved å omorganisere bokstavene til en annen streng. Det kan høres vanskelig å sjekke om to strenger er anagrammer av hverandre, men det er bare litt vanskelig og villedende greit. I denne artikkelen lærer du hvordan du sjekker om to strenger er anagrammer av hverandre ved hjelp av C ++, Python og JavaScript.
Problemstilling
Du får to strenger s1 og s2, du må sjekke om de to strengene er anagrammer av hverandre eller ikke.
Eksempel 1: La s1 = "kreativ" og s2 = "reaktiv".
Siden den andre strengen kan dannes ved å omorganisere bokstavene til den første strengen og omvendt, er de to strengene således anagrammer over hverandre.
Eksempel 2: La s1 = "Peter Piper plukket en peck med syltet paprika" og s2 = "En peck med syltet paprika Peter Piper plukket".
Siden den andre strengen ikke kan dannes ved å omorganisere bokstavene til den første strengen og omvendt, er de to strengene således ikke anagrammer over hverandre.
Prosess for å kontrollere om to strenger er diagrammer over hverandre
Du kan følge fremgangsmåten nedenfor for å sjekke om de to strengene er anagrammer av hverandre:
- Sammenlign lengden på begge strengene.
- Hvis lengden på begge strengene ikke er den samme, betyr det at de ikke kan være anagrammer over hverandre. Dermed, returner falsk.
- Hvis lengden på begge strengene er den samme, fortsett videre.
- Sorter begge strengene.
- Sammenlign begge sorterte strengene.
- Hvis begge de sorterte strengene er like, betyr det at de er anagrammer av hverandre. Dermed, returner sant.
- Hvis begge de sorterte strengene er forskjellige, betyr det at de ikke er anagrammer av hverandre. Dermed, returner falsk.
I slekt: Hvordan sjekke om en streng er et palindrom
C ++ - program for å sjekke om to strenger er anagrammer av hverandre
Nedenfor er C ++ - programmet for å sjekke om to strenger er anagrammer av hverandre eller ikke:
#inkludere
bruker navneområde std;
bool checkAnagrams (streng s1, streng s2)
{
int størrelse1 = s1.lengde ();
int størrelse2 = s2.length ();
// Hvis lengden på begge strengene ikke er den samme,
// det betyr at de ikke kan være anagrammer over hverandre.
// Dermed returner falsk.
hvis (størrelse1! = størrelse2)
{
returner falsk;
}
sorter (s1.begin (), s1.end ());
sorter (s2.begin (), s2.end ());
for (int i = 0; jeg {
hvis (s1 [i]! = s2 [i])
{
returner falsk;
}
}
returner sant;
}
int main ()
{
streng s1 = "hør";
streng s2 = "lydløs";
cout << "String 1:" << s1 << endl;
cout << "String 2:" << s2 << endl;
if (checkAnagrams (s1, s2))
{
cout << "Ja, de to strengene er anagrammer over hverandre" << endl;
}
ellers
{
cout << "Nei, de to strengene er ikke anagrammer over hverandre" << endl;
}
string s3 = "Velkommen til MUO";
string s4 = "MUO til velkomst";
cout << "String 3:" << s3 << endl;
cout << "String 4:" << s4 << endl;
if (checkAnagrams (s3, s4))
{
cout << "Ja, de to strengene er anagrammer over hverandre" << endl;
}
ellers
{
cout << "Nei, de to strengene er ikke anagrammer over hverandre" << endl;
}
string s5 = "Peter Piper plukket en peck med syltet paprika";
string s6 = "En peck med syltet paprika Peter Piper plukket";
cout << "String 5:" << s5 << endl;
cout << "String 6:" << s6 << endl;
if (checkAnagrams (s5, s6))
{
cout << "Ja, de to strengene er anagrammer over hverandre" << endl;
}
ellers
{
cout << "Nei, de to strengene er ikke anagrammer over hverandre" << endl;
}
string s7 = "Hun selger skjell ved kysten";
streng s8 = "skjell ved kysten";
cout << "String 7:" << s7 << endl;
cout << "String 8:" << s8 << endl;
if (checkAnagrams (s7, s8))
{
cout << "Ja, de to strengene er anagrammer over hverandre" << endl;
}
ellers
{
cout << "Nei, de to strengene er ikke anagrammer over hverandre" << endl;
}
streng s9 = "kreativ";
streng s10 = "reaktiv";
cout << "String 9:" << s9 << endl;
cout << "String 10:" << s10 << endl;
if (checkAnagrams (s9, s10))
{
cout << "Ja, de to strengene er anagrammer over hverandre" << endl;
}
ellers
{
cout << "Nei, de to strengene er ikke anagrammer over hverandre" << endl;
}
retur 0;
}
Produksjon:
Streng 1: hør
String 2: stille
Ja, de to strengene er anagrammer over hverandre
String 3: Velkommen til MUO
String 4: MUO to Welcome
Ja, de to strengene er anagrammer over hverandre
Streng 5: Peter Piper plukket en peck med syltet paprika
Streng 6: En peck med syltet paprika Peter Piper plukket
Nei, de to strengene er ikke anagrammer over hverandre
String 7: Hun selger skjell ved kysten
String 8: skjell ved kysten
Nei, de to strengene er ikke anagrammer over hverandre
Streng 9: kreativ
Streng 10: reaktiv
Ja, de to strengene er anagrammer over hverandre
I slekt: Hvordan telle forekomster av en gitt karakter i en streng
Python-program for å sjekke om to strenger er anagrammer av hverandre
Nedenfor er Python-programmet for å sjekke om to strenger er anagrammer av hverandre eller ikke:
def checkAnagrams (s1, s2):
størrelse1 = len (s1)
størrelse2 = len (s2)
# Hvis lengden på begge strengene ikke er den samme,
# det betyr at de ikke kan være anagrammer over hverandre.
# Dermed returner falsk.
hvis størrelse1! = størrelse2:
retur 0
s1 = sortert (s1)
s2 = sortert (s2)
for jeg innen rekkevidde (0, størrelse1):
hvis s1 [i]! = s2 [i]:
returner Falsk
returner True
s1 = "hør"
s2 = "stille"
utskrift ("String 1:", s1)
utskrift ("String 2:", s2)
if (checkAnagrams (s1, s2)):
print ("Ja, de to strengene er anagrammer over hverandre")
ellers:
print ("Nei, de to strengene er ikke anagrammer over hverandre")
s3 = "Velkommen til MUO"
s4 = "MUO til velkomst"
utskrift ("String 3:", s3)
utskrift ("String 4:", s4)
hvis (sjekkAnagrams (s3, s4)):
print ("Ja, de to strengene er anagrammer over hverandre")
ellers:
print ("Nei, de to strengene er ikke anagrammer over hverandre")
s5 = "Peter Piper plukket en peck med syltet paprika"
s6 = "En pukk med syltet paprika Peter Piper plukket"
trykk ("String 5:", s5)
utskrift ("String 6:", s6)
hvis (sjekkAnagrams (s5, s6)):
print ("Ja, de to strengene er anagrammer over hverandre")
ellers:
print ("Nei, de to strengene er ikke anagrammer over hverandre")
s7 = "Hun selger skjell ved kysten"
s8 = "skjell ved kysten"
utskrift ("String 7:", s7)
utskrift ("String 8:", s8)
if (checkAnagrams (s7, s8)):
print ("Ja, de to strengene er anagrammer over hverandre")
ellers:
print ("Nei, de to strengene er ikke anagrammer over hverandre")
s9 = "kreativ"
s10 = "reaktiv"
utskrift ("String 9:", s9)
utskrift ("String 10:", s10)
hvis (sjekkAnagrams (s9, s10)):
print ("Ja, de to strengene er anagrammer over hverandre")
ellers:
print ("Nei, de to strengene er ikke anagrammer over hverandre")
Produksjon:
Streng 1: hør
String 2: stille
Ja, de to strengene er anagrammer over hverandre
String 3: Velkommen til MUO
String 4: MUO to Welcome
Ja, de to strengene er anagrammer over hverandre
Streng 5: Peter Piper plukket en peck med syltet paprika
Streng 6: En peck med syltet paprika Peter Piper plukket
Nei, de to strengene er ikke anagrammer over hverandre
String 7: Hun selger skjell ved kysten
String 8: skjell ved kysten
Nei, de to strengene er ikke anagrammer over hverandre
Streng 9: kreativ
Streng 10: reaktiv
Ja, de to strengene er anagrammer over hverandre
I slekt: Hvordan finne vokaler, konsonanter, sifre og spesialtegn i en streng
Sjekk om to strenger er anagrammer av hverandre i JavaScript
Nedenfor er JavaScript-programmet for å sjekke om to strenger er anagrammer av hverandre eller ikke:
function checkAnagrams (s1, s2) {
la størrelse1 = s1.lengde;
la størrelse2 = s2.lengde;
// Hvis lengden på begge strengene ikke er den samme,
// det betyr at de ikke kan være anagrammer over hverandre.
// Dermed returner falsk.
hvis (størrelse1! = størrelse2)
{
returner falsk;
}
s1.sort ();
s2.sort ();
for (la i = 0; jeg {
hvis (s1 [i]! = s2 [i])
{
returner falsk;
}
}
returner sant;
}
var s1 = "lytt";
var s2 = "lydløs";
document.write ("String 1:" + s1 + "
");
document.write ("String 2:" + s2 + "
");
hvis (sjekkAnagrams (s1.split (""), s2.split (""))) {
document.write ("Ja, de to strengene er anagrammer av hverandre" + "
");
} annet {
document.write ("Nei, de to strengene er ikke anagrammer av hverandre" + "
");
}
var s3 = "Velkommen til MUO";
var s4 = "MUO til velkomst";
document.write ("String 3:" + s3 + "
");
document.write ("String 4:" + s4 + "
");
hvis (sjekkAnagrams (s3.split (""), s4.split (""))) {
document.write ("Ja, de to strengene er anagrammer av hverandre" + "
");
} annet {
document.write ("Nei, de to strengene er ikke anagrammer av hverandre" + "
");
}
var s5 = "Peter Piper plukket en peck med syltet paprika";
var s6 = "En peck med syltet paprika Peter Piper plukket";
document.write ("String 5:" + s5 + "
");
document.write ("String 6:" + s6 + "
");
hvis (sjekkAnagrams (s5.split (""), s6.split (""))) {
document.write ("Ja, de to strengene er anagrammer av hverandre" + "
");
} annet {
document.write ("Nei, de to strengene er ikke anagrammer av hverandre" + "
");
}
var s7 = "Hun selger skjell ved kysten";
var s8 = "skjell ved kysten";
document.write ("String 7:" + s7 + "
");
document.write ("String 8:" + s8 + "
");
hvis (sjekkAnagrams (s7.split (""), s8.split (""))) {
document.write ("Ja, de to strengene er anagrammer av hverandre" + "
");
} annet {
document.write ("Nei, de to strengene er ikke anagrammer av hverandre" + "
");
}
var s9 = "kreativ";
var s10 = "reaktiv";
document.write ("String 9:" + s9 + "
");
document.write ("String 10:" + s10 + "
");
hvis (sjekkAnagrams (s9.split (""), s10.split (""))) {
document.write ("Ja, de to strengene er anagrammer av hverandre" + "
");
} annet {
document.write ("Nei, de to strengene er ikke anagrammer av hverandre" + "
");
}
Produksjon:
Streng 1: hør
String 2: stille
Ja, de to strengene er anagrammer over hverandre
String 3: Velkommen til MUO
String 4: MUO to Welcome
Ja, de to strengene er anagrammer over hverandre
Streng 5: Peter Piper plukket en peck med syltet paprika
Streng 6: En peck med syltet paprika Peter Piper plukket
Nei, de to strengene er ikke anagrammer over hverandre
String 7: Hun selger skjell ved kysten
String 8: skjell ved kysten
Nei, de to strengene er ikke anagrammer over hverandre
Streng 9: kreativ
Streng 10: reaktiv
Ja, de to strengene er anagrammer over hverandre
I slekt: Hvordan finner du ASCII-verdien til et tegn?
Bruk de riktige ressursene til å lære å kode
Hvis du ønsker å styrke kodingsferdighetene dine, er det viktig å lære nye konsepter og bruke tid på å bruke dem. En måte å gjøre dette på er med programmering av apper, som vil hjelpe deg å lære forskjellige programmeringskonsepter mens du har det gøy samtidig.
Vil du pusse opp kodingsferdighetene dine? Disse appene og nettstedene vil hjelpe deg å lære programmering i ditt eget tempo.
Les Neste
- Programmering
- JavaScript
- Python
- C Programmering
Yuvraj er en informatikk-student ved University of Delhi, India. Han brenner for Full Stack Web Development. Når han ikke skriver, utforsker han dybden i forskjellige teknologier.
Abonner på vårt nyhetsbrev
Bli med på nyhetsbrevet vårt for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!
Klikk her for å abonnere