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

Daily Temperatures

تحصل على درجة حرارة كل يوم ضمن سلسلة من الأيام: temperatures[i] هي درجة الحرارة في اليوم i. لكل يوم، احسب عدد الأيام التي عليك انتظارها بعده حتى يحلّ يوم أكثر حرارة منه تمامًا. إذا لم يأتِ يوم أكثر حرارة لاحقًا، فمدة الانتظار لذلك اليوم هي 0.

أعِد مصفوفة بالطول نفسه، حيث تكون القيمة عند الموضع i هي مدة الانتظار لليوم i.

الدالة

dailyTemperatures(temperatures: integer-array) → integer-array
temperaturesinteger-array
درجة حرارة كل يوم، بالترتيب
تُرجعinteger-array
لكل يوم، عدد الأيام المتبقية حتى يوم أكثر دفئًا، أو 0 إذا لم يأتِ يوم كهذا

القيود

  • 1 ≤ temperatures.length ≤ 104
  • 30 ≤ temperatures[i] ≤ 100
  • تعني «أكثر دفئًا» أن تكون الحرارة أعلى تمامًا: لا يُحتسب يوم لاحق له درجة الحرارة نفسها.

أمثلة

المدخلات
temperatures = [71, 69, 72, 70, 70, 75, 68]
المخرجات
[2, 1, 3, 2, 1, 0, 0]
الشرح
درجة حرارة اليوم 0 هي 71، وأول يوم أدفأ هو اليوم 2 بدرجة حرارة 72، لذا ينتظر يومين. درجة الحرارة في اليومين 3 و4 هي 70: درجة الحرارة 70 الثانية ليست أدفأ، لذا ينتظر اليوم 3 حتى اليوم 5 بدرجة حرارة 75، أي يومين. لا توجد درجة حرارة أعلى من 75 أو 68 بعد ذلك، لذا تكون النتيجة 0 لكليهما.

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

challenge icon

سؤال إضافي

تأخذ درجات الحرارة 71 قيمة فقط، من 30 إلى 100. كيف يمكن لجدول مفهرس بدرجة الحرارة أن يجيب عن كل يوم في مرور واحد من اليمين إلى اليسار، وما تكلفة هذا المرور؟

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

الحالة 1

الحالة 2

الحالة 3

المدخلات

temperatures = [71, 69, 72, 70, 70, 75, 68]

المتوقع

[2, 1, 3, 2, 1, 0, 0]