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

Longest Consecutive Sequence

متوسطالتجزئةpython iconjava iconcpp iconc iconjs icon+10

تحصل على مصفوفة من الأعداد الصحيحة nums بترتيب غير محدد. التسلسل المتتابع هو مجموعة من القيم x وx+1 وx+2 وهكذا، تظهر كل منها في موضع ما ضمن nums. أعد طول أطول تسلسل متتابع. تُحتسب القيمة التي تظهر أكثر من مرة مرة واحدة.

الدالة

longestConsecutive(nums: integer-array) → integer
numsinteger-array
الأعداد الصحيحة، بأي ترتيب، مع السماح بالتكرار
تُرجعinteger
طول أطول سلسلة من القيم المتتالية الموجودة في nums

القيود

  • 1 ≤ nums.length ≤ 104
  • -109 ≤ nums[i] ≤ 109
  • قد تتكرر القيم. لا تهم المواضع في المصفوفة، بل المهم فقط القيم الموجودة.

أمثلة

المدخلات
nums = [40, 4, 39, 1, 3, 2, 41]
المخرجات
4
الشرح
القيم 1 و2 و3 و4 كلها موجودة، وهي سلسلة من 4 قيم، رغم أنها متفرقة في المصفوفة. أما السلسلة الأخرى، من 39 إلى 41، فتضم 3 قيم فقط.

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

challenge icon

سؤال إضافي

افترض أن القيم تصل واحدة تلو الأخرى، وأنه عليك بعد كل قيمة الإبلاغ عن أطول سلسلة متتالية حتى الآن. هل يمكنك إبقاء الإجابة محدّثة في زمن متوسط O(1) لكل قيمة؟

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

الحالة 1

الحالة 2

الحالة 3

المدخلات

nums = [40, 4, 39, 1, 3, 2, 41]

المتوقع

4