Yuvraj Chandra poolt
JagaPiiksumaE -post

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".

instagram viewer

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.

  1. Leidke nööri pikkus.
  2. 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.
  3. 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.
  4. Võrrelge nüüd stringi mõlema poole vastavaid märke, kasutades a samas silmus. Käivitage a samas silmus kuni osuti 1.
  5. Võrrelge vastavaid märke indeksites osuti 1 ja osuti2.
  6. Kui mõni vastav märk on erinev, naaske vale. Ja kui vastavaid märke ei leita, siis naaske tõsi.
  7. 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.

JagaPiiksumaE -post
Kuidas kontrollida, kas string on palindroom

Kas teie string on palindroom? Kas kasutate Pythoni, C ++ või JavaScripti, kasutage selle leidmiseks ühte neist algoritmidest.

Loe edasi

Seotud teemad
  • Programmeerimine
  • JavaScript
  • Python
  • Kodeerimise õpetused
  • C Programmeerimine
Autori kohta
Yuvraj Chandra (50 artiklit avaldatud)

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.

Veel Yuvraj Chandrast

Telli meie uudiskiri

Liituge meie uudiskirjaga, kus leiate tehnilisi näpunäiteid, ülevaateid, tasuta e-raamatuid ja eksklusiivseid pakkumisi!

Tellimiseks klõpsake siin