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 והיום החם יותר הראשון הוא יום 2, עם 72, ולכן ההמתנה היא 2 ימים. הטמפרטורות בימים 3 ו־4 הן שתיהן 70: הטמפרטורה ביום 4 אינה חמה יותר, ולכן ביום 3 ממתינים עד יום 5, שבו הטמפרטורה היא 75 — כלומר 2 ימים. אחרי 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]