logo

תוכנית Python למציאת הבדל בין שני מיתרים

במדריך זה, נכתוב תוכנית Python כדי למצוא את ההבדל בין שתי המחרוזות הנתונות. את הבעיה הזו אפשר לשאול בראיון. בואו נבין את הצהרת הבעיה ואז ניגש לפתרון.

הצהרת בעיה -

יש שני מחרוזות שניתנו ס ו ט. מחרוזת t נוצרת על ידי מחרוזת ערבוב אקראית ולאחר מכן הוספה תו אחד נוסף בכל מיקום אקראי. אנחנו צריכים לכתוב תוכנית Python שמחזירה את האות שנוספה אליה ט.

דוגמא -

 Input: s = 'zxyc', t = 'zxyce' Output: 'e' Explanation: 'e' is the letter that was added. 

דוגמא -

 Input: s = 'uvw', t = 'wyu' Output: 'y' Explanation: 'e' is the letter that was added. 

אילוצים:

יש להקפיד על האילוצים הבאים -

  • 0<= s.length <='1000</li'>
  • t.length == s.length + 1
  • s ו-t מורכבים מאותיות קטנות באנגלית.

תוכנית פייתון

בואו נבין את תוכנית Python הבאה.

דוגמא -

 class Solution(object): def findTheDifference(self, s, t): ls_s = [s[i] for i in range(len(s))] ls_t = [t[i] for i in range(len(t))] for elem in ls_s: ls_t.remove(elem) return(ls_t[0]) obj = Solution() s = &apos;zxyc&apos; t = &apos;zxyce&apos; print(obj.findTheDifference(s, t) 

תְפוּקָה:

 &apos;e&apos; 

הסבר -

יצירת טבלאות בלטקס

בקוד לעיל, הגדרנו את הפונקציה findThedifference() שלוקחת שתי מחרוזות כארגומנטים. השתמשנו בהבנת הרשימה כדי להמיר את המחרוזות לרשימה. עכשיו, אנחנו חוזרים ls_s רשימה, בחר אלמנט בודד והסר את הרכיב הזה לרשימה השנייה ls_t. אם כל הרכיב הוסר מהאלמנט השני, זה אומר ששתי המחרוזות הנתונות זהות, אחרת החזר את האלמנט הראשון של הרשימה השנייה.

פתרון - 2

בוא נראה פתרון אחר לבעיה.

 class Solution: def findTheDifference(self, s: str, t: str) -&gt; str: #sort both the strings s_list = sorted(s) t_list = sorted(t) s_list.append(0) #to make the length equal else we will get list index out of bounds (1 extra char in string2) for i in range(len(t_list)): if s_list[i] != t_list[i]: #if character at i not same for both the strings, we get our answer return t_list[i] obj = Solution() s = &apos;zxyc&apos; t = &apos;zxyce&apos; print(obj.findTheDifference(s, t) 

תְפוּקָה:

 e 

הסבר -

במדריך זה, השתמשנו ב- מְמוּיָן() שיטה, אשר ממירה את המחרוזת לרשימת תווים באופן ממוין. יצרנו את שתי רשימות המחרוזות והוספנו אלמנט נוסף כ-0 כדי שהאורך יהיה שווה; אחרת, נוציא את אינדקס הרשימה מחוץ לתחום. כעת חזרנו על ה-t_list ובדקנו אם s_list אלמנט אינו שווה ל-t_list; אם התנאי מותאם, הוא מחזיר את הרכיב הזה.