Menu
CoddyTech

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) يومين حتى اليوم 72. يتجاوز اليوم 3 (70) القيمة 70 المساوية في اليوم 4، وينتظر يومين حتى 75. لا توجد درجة حرارة أعلى بعد 75 أو 68، لذا تكون النتيجة 0 لكليهما.
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]