Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Посетители гостиницы
- // Если дата заезда меньше выезда, то гости прибавляются
- // Как только кто-то выехал раньше, то гостя убираем
- // Приоритет отдается тем кто заехал - если в один день заехали и выехали
- [1, 2, 5, 5, 10]
- // |
- [4, 5, 9, 12, 12]
- // |
- func findMaxGuests(arrival: [Int], exit: [Int]) -> Int {
- var arrival = arrival.sorted()
- var exit = exit.sorted()
- var guestsIn = 1
- var maxGuests = 1
- // var time = arrival[0]
- var i = 1
- var j = 0
- while i < arrival.count && j < exit.count {
- if arrival[i] <= exit[j] {
- guestsIn += 1
- maxGuests = max(guestsIn, maxGuests)
- // if guestsIn > maxGuests {
- // maxGuests = guestsIn
- // time = arrival[i]
- // }
- i += 1
- } else {
- guestsIn -= 1
- j += 1
- }
- }
- return maxGuests
- // print("Максимальное количество гостей =", maxGuests, "во времени", time)
- }
- let arrival = [1, 2, 10, 5, 5]
- let exit = [4, 5, 12, 9, 12]
- findMaxGuests(arrival: arrival, exit: exit)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement