C ++, Python, C või JavaScript: ükskõik, mida te kasutate, kasutage seda algoritmi sümmeetriliste stringide määramiseks.
String on sümmeetriline, kui stringi mõlemad pooled on samad. Selles artiklis saate teada algoritmi, et teha kindlaks, kas antud string on sümmeetriline või mitte. Samuti saate teada, kuidas seda algoritmi rakendada kõige populaarsemates programmeerimiskeeltes nagu C ++, Python, C ja JavaScript.
Probleemipüstituses
Teile antakse string. Peate kindlaks tegema, kas antud string on sümmeetriline või mitte.
Näide 1: Olgu str = "abab".
Antud on sümmeetriline, kuna stringi mõlemad pooled on samad.
Seega on väljund "Jah, antud string on sümmeetriline".
Näide 2: Olgu str = "proua".
Kui stringi pikkus on paaritu, ignoreeritakse stringi keskmist tähemärki. Seetõttu esimene pool = "ma" ja teine pool = "olen". Kaks poolt ei ole samad.
Seega on väljund "Ei, antud string ei ole sümmeetriline".
Näide 3: Olgu str = "madma".
Esimene pool = "ma" ja teine pool = "ma". Nööri mõlemad pooled on samad.
Seega on väljund "Jah, antud string on sümmeetriline".
Algoritm, et teha kindlaks, kas antud string on sümmeetriline või mitte
Saate määrata, kas antud string on sümmeetriline või mitte, järgides alltoodud meetodit.
- Leidke nööri pikkus.
- Leidke stringi keskindeks.
- Kui nööri pikkus on ühtlane, midIndex = pikkus/2.
- Kui stringi pikkus on paaritu, midIndex = (pikkus/2) + 1. Sel juhul eiratakse võrdluseks stringi keskmist märki.
- Initsialiseeri kaks kursori muutujat osuti 1 ja osuti2. osuti 1 salvestab stringi esimese märgi (0) indeksi ja osuti2 salvestab stringi keskmise märgi (midIndex) indeksi.
- Võrrelge nüüd stringi mõlema poole vastavaid märke, kasutades a samas silmus. Käivitage a samas silmus kuni osuti 1.
- Võrrelge vastavaid märke indeksites osuti 1 ja osuti2.
- Kui mõni vastav märk on erinev, naaske vale. Ja kui vastavaid märke ei leita, siis naaske tõsi.
- Samuti suurendage kindlasti väärtust osuti 1 ja osuti2 igal iteratsioonil.
C ++ programm, et teha kindlaks, kas antud string on sümmeetriline või mitte
Allpool on programm C ++, et teha kindlaks, kas antud string on sümmeetriline või mitte:
// programm C ++, et kontrollida, kas string on sümmeetriline või mitte
#kaasake
kasutades nimeruumi std;
// Funktsioon kontrollida, kas string on sümmeetriline või mitte
bool on sümmeetriline (string str)
{
int midIndex;
int pikkus = str.length ();
// Kui stringi pikkus on paaris
kui (pikkus % 2 == 0)
{
midIndex = pikkus/2;
}
// Kui stringi pikkus on paaritu
muidu
{
midIndex = pikkus/2 + 1;
}
int osuti1 = 0;
int pointer2 = keskindeks;
samas (osuti 1{
kui (str [osuti1] == str [osuti2])
{
osuti1 += 1;
osuti2 += 1;
}
muidu
{
tagastama vale;
}
}
tagastama tõene;
}
// Juhi kood
int main ()
{
// Testjuhtum: 1
string str1 = "abab";
cout << "String 1:" << str1 << endl;
kui (isSymmetrical (str1))
{
cout << "Jah, antud string on sümmeetriline" << endl;
}
muidu
{
cout << "Ei, antud string ei ole sümmeetriline" << endl;
}
// Testjuhtum: 2
string str2 = "proua";
cout << "String 2:" << str2 << endl;
kui (isSymmetrical (str2))
{
cout << "Jah, antud string on sümmeetriline" << endl;
}
muidu
{
cout << "Ei, antud string ei ole sümmeetriline" << endl;
}
// Katsejuhtum: 3
string str3 = "madma";
cout << "String 3:" << str3 << endl;
kui (isSümmeetriline (str3))
{
cout << "Jah, antud string on sümmeetriline" << endl;
}
muidu
{
cout << "Ei, antud string ei ole sümmeetriline" << endl;
}
// Katsejuhtum: 4
string str4 = "kodanik";
cout << "String 4:" << str4 << endl;
kui (onSümmeetriline (str4))
{
cout << "Jah, antud string on sümmeetriline" << endl;
}
muidu
{
cout << "Ei, antud string ei ole sümmeetriline" << endl;
}
// Testjuhtum: 5
string str5 = "khokho";
cout << "String 5:" << str5 << endl;
kui (isSymmetrical (str5))
{
cout << "Jah, antud string on sümmeetriline" << endl;
}
muidu
{
cout << "Ei, antud string ei ole sümmeetriline" << endl;
}
tagasitulek 0;
}
Väljund:
String 1: abab
Jah, antud string on sümmeetriline
String 2: proua
Ei, antud string ei ole sümmeetriline
String 3: madma
Jah, antud string on sümmeetriline
String 4: kodanik
Ei, antud string ei ole sümmeetriline
String 5: khokho
Jah, antud string on sümmeetriline
Seotud: Stringi ümberpööramine C ++, Python ja JavaScriptis
Pythoni programm, et teha kindlaks, kas antud string on sümmeetriline või mitte
Allpool on Pythoni programm, et teha kindlaks, kas antud string on sümmeetriline või mitte:
# Pythoni programm, et kontrollida, kas string on sümmeetriline või mitte
# Funktsioon, et kontrollida, kas string on sümmeetriline või mitte
def isSümmeetriline (str):
midIndex = 0
pikkus = len (str)
kui pikkus%2 == 0:
midIndex = pikkus // 2
muidu:
midIndex = pikkus // 2 + 1
osuti1 = 0
osuti2 = keskindeks
osuti ajal 1kui (str [osuti1] == str [osuti2]):
kursor1 + = 1
osuti2 += 1
muidu:
tagastama Vale
tagastama Tõsi
# Katsejuhtum: 1
str1 = "abab"
print ("String 1:", str1)
kui (isSymmetrical (str1)):
print ("Jah, antud string on sümmeetriline")
muidu:
print ("Ei, antud string ei ole sümmeetriline")
# Katsejuhtum: 2
str2 = "proua"
print ("String 2:", str2)
kui (isSymmetrical (str2)):
print ("Jah, antud string on sümmeetriline")
muidu:
print ("Ei, antud string ei ole sümmeetriline")
# Katsejuhtum: 3
str3 = "madma"
print ("String 3:", str3)
kui (isSymmetrical (str3)):
print ("Jah, antud string on sümmeetriline")
muidu:
print ("Ei, antud string ei ole sümmeetriline")
# Katsejuhtum: 4
str4 = "kodanik"
print ("String 4:", str4)
kui (isSymmetrical (str4)):
print ("Jah, antud string on sümmeetriline")
muidu:
print ("Ei, antud string ei ole sümmeetriline")
# Katsejuhtum: 5
str5 = "khokho"
print ("String 5:", str5)
kui (isSymmetrical (str5)):
print ("Jah, antud string on sümmeetriline")
muidu:
print ("Ei, antud string ei ole sümmeetriline")
Väljund:
String 1: abab
Jah, antud string on sümmeetriline
String 2: proua
Ei, antud string ei ole sümmeetriline
String 3: madma
Jah, antud string on sümmeetriline
String 4: kodanik
Ei, antud string ei ole sümmeetriline
String 5: khokho
Jah, antud string on sümmeetriline
Seotud: Pythoni õppimine? Siit saate teada, kuidas stringidega manipuleerida
JavaScripti programm, et teha kindlaks, kas antud string on sümmeetriline või mitte
Allpool on JavaScripti programm, et teha kindlaks, kas antud string on sümmeetriline või mitte:
// JavaScripti programm, et kontrollida, kas string on sümmeetriline või mitte
// Funktsioon kontrollida, kas string on sümmeetriline või mitte
funktsioon onSümmeetriline (str) {
var midIndex;
var pikkus = str.length;
// Kui stringi pikkus on paaris
kui (pikkus % 2 == 0) {
midIndex = Matemaatikapõrand (pikkus/2);
}
// Kui stringi pikkus on paaritu
muu {
midIndex = Matemaatikapõrand (pikkus/2) + 1;
}
var osuti1 = 0;
var osuti2 = keskindeks;
samas (osuti 1kui (str [osuti1] == str [osuti2]) {
osuti1 += 1;
osuti2 += 1;
} muud {
tagastama vale;
}
}
tagastama tõene;
}
// Testjuhtum: 1
var str1 = "abab";
document.write ("String 1:" + str1 + "
");
if (isSymmetrical (str1)) {
document.write ("Jah, antud string on sümmeetriline" + "
");
} muud {
document.write ("Ei, antud string ei ole sümmeetriline" + "
");
}
// Testjuhtum: 2
var str2 = "proua";
document.write ("String 2:" + str2 + "
");
if (isSymmetrical (str2)) {
document.write ("Jah, antud string on sümmeetriline" + "
");
} muud {
document.write ("Ei, antud string ei ole sümmeetriline" + "
");
}
// Katsejuhtum: 3
var str3 = "madma";
document.write ("String 3:" + str3 + "
");
if (isSymmetrical (str3)) {
document.write ("Jah, antud string on sümmeetriline" + "
");
} muud {
document.write ("Ei, antud string ei ole sümmeetriline" + "
");
}
// Katsejuhtum: 4
var str4 = "kodanik";
document.write ("String 4:" + str4 + "
");
if (onSümmeetriline (str4)) {
document.write ("Jah, antud string on sümmeetriline" + "
");
} muud {
document.write ("Ei, antud string ei ole sümmeetriline" + "
");
}
// Testjuhtum: 5
var str5 = "khokho";
document.write ("String 5:" + str5 + "
");
if (isSymmetrical (str5)) {
document.write ("Jah, antud string on sümmeetriline" + "
");
} muud {
document.write ("Ei, antud string ei ole sümmeetriline" + "
");
}
Väljund:
String 1: abab
Jah, antud string on sümmeetriline
String 2: proua
Ei, antud string ei ole sümmeetriline
String 3: madma
Jah, antud string on sümmeetriline
String 4: kodanik
Ei, antud string ei ole sümmeetriline
String 5: khokho
Jah, antud string on sümmeetriline
Seotud: Kuidas leida stringist kõige sagedamini esinevat tegelast
Lahendage probleeme stringide põhjal
Stringid on intervjuude programmeerimisel üks olulisemaid teemasid. Peate lahendama mõned kuulsad programmeerimisprobleemid, mis põhinevad stringidel, näiteks kontrollige, kas string on palindroom, kontrollige kui kaks stringi on üksteise anagrammid, leidke stringist kõige sagedamini esinev märk, pöörake string ümber, jne. kui soovite olla täielikult valmis.
Kas teie string on palindroom? Kas kasutate Pythoni, C ++ või JavaScripti, kasutage selle leidmiseks ühte neist algoritmidest.
Loe edasi
- Programmeerimine
- JavaScript
- Python
- Kodeerimise õpetused
- C Programmeerimine
Yuvraj on arvutiteaduse bakalaureuseõppe üliõpilane Indias Delhi ülikoolis. Ta on kirglik Full Stacki veebiarenduse vastu. Kui ta ei kirjuta, uurib ta erinevate tehnoloogiate sügavust.
Telli meie uudiskiri
Liituge meie uudiskirjaga, kus leiate tehnilisi näpunäiteid, ülevaateid, tasuta e-raamatuid ja eksklusiivseid pakkumisi!
Tellimiseks klõpsake siin