Menu
CoddyTech
flag Ar iconالعربيةdown icon

Group Anagrams

تحصل على قائمة من الكلمات strs. تُعدّ كلمتان متطابقتين من حيث الحروف إذا كانت إحداهما إعادة ترتيب للأخرى: أي تحتويان على الأحرف نفسها، ويُستخدم كل حرف العدد نفسه من المرات. ضع كل كلمة في مجموعة مع جميع الكلمات المتطابقة معها من حيث الحروف، وأعِد سلسلة نصية واحدة لكل مجموعة: كلمات المجموعة مرتبة أبجديًا، ومفصولة بمسافات مفردة. رتّب المجموعات أبجديًا حسب أول كلمة فيها.

تُدرج الكلمة التي تظهر مرتين مرتين في مجموعتها، والكلمة التي لا تملك كلمةً مطابقة لها من حيث الحروف تشكّل مجموعةً من كلمة واحدة. والترتيب الأبجدي يعني ترتيب القاموس: تأتي aab قبل ab، وab قبل abc.

الدالة

groupAnagrams(strs: string-array) → string-array
strsstring-array
الكلمات للتجميع، أحرف صغيرة فقط
تُرجعstring-array
سلسلة نصية واحدة لكل مجموعة: تُرتَّب كلماتها وتُوصَل بمسافات، وتُرتَّب المجموعات حسب كلمتها الأولى

القيود

  • 1 ≤ strs.length ≤ 4000
  • 1 ≤ strs[i].length ≤ 8
  • تتكوّن كل كلمة من أحرف إنجليزية صغيرة فقط.

أمثلة

المدخلات
strs = ["listen", "stone", "silent", "notes", "enlist", "onset", "tones", "apple"]
المخرجات
["apple", "enlist listen silent", "notes onset stone tones"]
الشرح
تستخدم كل من enlist وlisten وsilent الأحرف e وi وl وn وs وt مرة واحدة. وتشترك notes وonset وstone وtones في الأحرف e وn وo وs وt، ولا تطابق apple أي شيء. وبحسب الكلمة الأولى، تكون المجموعات بالترتيب apple وenlist وnotes.

lock icon+15 اختبارات مخفية عند الإرسال

challenge icon

سؤال إضافي

افترض أن الكلمات يمكن أن تحتوي على أي أحرف Unicode بدلًا من 26 حرفًا صغيرًا. أي المفتاحين، الأحرف المرتبة أم أعداد الأحرف، يظل صالحًا، وما الذي ستغيّره فيه؟

إعادة ضبط الشيفرة
def groupAnagrams(strs):
    # اكتب الكود هنا
حالات الاختبار

الحالة 1

الحالة 2

الحالة 3

المدخلات

strs = ["listen", "stone", "silent", "notes", "enlist", "onset", "tones", "apple"]

المتوقع

["apple", "enlist listen silent", "notes onset stone tones"]