How to get the number of days needed to wait after a day (list[i]) gets warmer given a list of temperatures in Python

1 Answer

0 votes
def number_of_days_needed_to_wait_to_get_warmer(temperatures):
    size = len(temperatures)
    result = [0 for _ in range(size)]
    lst = []
    for i in range(0, size):
        while (len(lst) > 0) and temperatures[i] > temperatures[lst[len(lst) - 1]]:
              index = lst[len(lst) - 1]
              lst.pop()
              result[index] = i - index
        
        lst.append(i)
    
    return list(result)

temperatures = [82, 84, 81, 58, 85, 89, 75, 7]  

result = number_of_days_needed_to_wait_to_get_warmer(temperatures)

# 82 -> 84 = 1
# 84 -> 81 -> 58 -> 85 = 3
# 81 -> 58 -> 85 = 2
# 58 -> 85 = 1
# 85 -> 89 = 1
# 89 -> 75 -> 71 = 0
# 75 -> 71 = 0

print(result)



'''
run:

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

 



answered Mar 9, 2024 by avibootz

Related questions

...