Привет, я решаю проблему с вопросом ниже:
Дано время прибытия и отправления всех поездов, прибывающих на железнодорожную станцию. Найдите минимальное количество платформ, необходимое на вокзале, чтобы ни один поезд не оставался в ожидании. Учтите, что все поезда прибывают в один и тот же день и отправляются в один и тот же день. Время прибытия и отправления поезда никогда не может совпадать, но время прибытия одного поезда может быть равно времени отправления другого. В любой момент времени одна и та же платформа не может использоваться как для отправления поезда, так и для прибытия другого поезда. В таких случаях нужны разные платформы,
Input: N = 6
arr = [0900 0940 0950 1100 1500 1800]
dep = [0910 1200 1120 1130 1900 2000]
Output: 3
Explanation:
Minimum 3 platforms are required to
safely arrive and depart all trains.
Вот мой код:
class Node:
def __init__(self,arrival,departure):
self.arrival = int(arrival)
self.departure = int(departure)
def minimumPlatform(n,arr,dep):
s=[Node(arr[i],dep[i]) for i in range(n)]
s = sorted(s,key=lambda x:x.departure)
currentMax=1
maxi = 1
dep = s[0].departure
for j in range(1,n):
i = s[j]
if i.arrival<=dep:
currentMax+=1
maxi = max(currentMax,maxi)
else:
currentMax=1
dep = i.departure
return maxi
то, что я сделал, отсортировал по отправлению и проверил максимальное количество перекрытий на графике (график прибытия и отправления на графике)
gfg не принимает мой ответ
моя интуиция верна или нет?