اذهب إلى المحتوى
  • 0

خرج خاطئ عند إيجاد substring متكررة في string

Ahmed Ebrahim11

السؤال

لدي استفسار اخر كنت احل مسأله عل leetcode

ولكن السؤال غريب حيث يجب أن اخرج أطول substring متكرره مثلا abcabcbb الخرج abc 3

و bbbbb الخرج b و1اي عنصر واحد متكرر

الاخيره غريبه بعض الشئ wpwwkew حيث وضح ان الخرج wke انا لا اري ان wke متكرره لم أفهم كيف ذلك

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

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

في المثال الاول الامر واضح اكبر substring هو abc

نفس الشيء في المثال الثاني لاننا لا نحتسب تكرار الحروف.

اما في المثال الأخير فيوجد اثنين substrigs

يوجد wp و wke و بما ان الثاني اطول من الأول فالحل هو wke.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

المسألة هي إيجاد أطول substring متكرر في سلسلة، حيث أن الsubstring المتكرر هو substring يظهر مرتين أو أكثر في السلسلة.

وفي المثال "abcabcbb"، فإن الsubstring المتكرر الأطول هو "abc"، حيث أنه يظهر مرتين في السلسلة.

وفي المثال "bbbbb"، فإن الsubstring المتكرر الأطول هو "b"، حيث أنه يظهر مرتين في السلسلة.

بينما في "wpwwkew"، فإن الsubstring المتكرر الأطول هو "wke"، حيث أنه يظهر مرتين في السلسلة.

والطريقة التي تعمل بها المسألة هي كما يلي:

  1. نقوم بإنشاء مصفوفة لحفظ عدد مرات ظهور كل حرف في السلسلة.
  2. نقوم بإنشاء قائمة تحتوي على جميع الsubstrings المتكررة في السلسلة.
  3. نقوم بفحص كل substring في القائمة، ونقارن طوله مع طول أطول substring متكرر تم العثور عليه حتى الآن.
  4. إذا كان طول الsubstring أكبر من طول أطول substring متكرر تم العثور عليه حتى الآن، فإننا نقوم بتعيينه كأطول substring متكرر.

في المثال "wpwwkew"، فإن الـ substrings المتكررة هي:

  • "w"
  • "ww"
  • "wke"

من بين تلك الـ substrings، فإن "wke" هو الأطول، حيث أنه بطول 3 أحرف.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 18 ساعة قال Ahmed Ebrahim11:

لدي استفسار اخر كنت احل مسأله عل leetcode

ولكن السؤال غريب حيث يجب أن اخرج أطول substring متكرره مثلا abcabcbb الخرج abc 3

و bbbbb الخرج b و1اي عنصر واحد متكرر

الاخيره غريبه بعض الشئ wpwwkew حيث وضح ان الخرج wke انا لا اري ان wke متكرره لم أفهم كيف ذلك

ما يريده في المسألة حسب الصورة التالية والتي هي نص المسألة
image.png.f575713648e7604c3a245c296408f4d6.png
هو أنه يريد أطول substring ولكن بدون أن تكون الحروف مكررة
لذلك في المثال الأول الجواب هو abc لأنه لو قلت abca أو cabc أو abcbb كلها سلاسل أطول ولكن يوجد فيها حرف مكرر
أما المثال الثاني فهو فقط الحرف b لأنه لو كان الجواب "bb" فهنا يوجد حرف مكرر وهو b 
في المثال الثالث اطول substring هو wke لأن pwwke اطول ولكن يوجد حرف مكرر كذلك wkew اطول لكن يوجد حرف مكرر هو w
وكذلك يعطيك ملاحظة مهمة هو أن pwke هي سلسلة جزئية وليست substring حيث أن substring هو جزء من السلسلة الاصلية ولا يوجد فيها انقطاع أما السلسلة الجزئية نستطيع اقتطاع ما نشاء من الاحرف من اي مكان من السلسلة الاصلية وتجميعها وعندها تسمى سلسلة جزئية
هذه الملاحظة في السطر الأخير تعطيك بداية الحل

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...