logo

برنامج بايثون لإيجاد الفرق بين سلسلتين

في هذا البرنامج التعليمي، سوف نكتب برنامج بايثون لإيجاد الفرق بين السلسلتين المعطاتين. يمكن طرح هذه المشكلة في المقابلة. دعونا نفهم بيان المشكلة وبعد ذلك سوف نقترب من الحل.

عرض المشكلة -

هناك سلسلتان معينتان س و ر. يتم إنشاء السلسلة t عن طريق الخلط العشوائي للسلسلة ثم تتم إضافة حرف آخر في أي موضع عشوائي. نحتاج إلى كتابة برنامج بايثون يُرجع الحرف المُضاف إليه ر.

مثال -

 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'>
  • طول == طول + 1
  • تتكون s وt من أحرف إنجليزية صغيرة.

برنامج بايثون

دعونا نفهم برنامج بايثون التالي.

مثال -

 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؛ إذا كان الشرط مطابقًا، فإنه يُرجع هذا العنصر.