Advertisement
Alexxik

Untitled

Mar 18th, 2024 (edited)
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 1.32 KB | None | 0 0
  1. // Посетители гостиницы
  2.  
  3. // Если дата заезда меньше выезда, то гости прибавляются
  4. // Как только кто-то выехал раньше, то гостя убираем
  5. // Приоритет отдается тем кто заехал - если в один день заехали и выехали
  6.    [1, 2, 5, 5, 10]
  7. //     |
  8.    [4, 5, 9, 12, 12]
  9. //  |
  10.  
  11.  
  12. func findMaxGuests(arrival: [Int], exit: [Int]) -> Int {
  13.     var arrival = arrival.sorted()
  14.     var exit = exit.sorted()
  15.    
  16.     var guestsIn = 1
  17.     var maxGuests = 1
  18. //    var time = arrival[0]
  19.     var i = 1
  20.     var j = 0
  21.    
  22.     while i < arrival.count && j < exit.count {
  23.         if arrival[i] <= exit[j] {
  24.             guestsIn += 1
  25.  
  26.             maxGuests = max(guestsIn, maxGuests)
  27. //            if guestsIn > maxGuests {
  28. //                maxGuests = guestsIn
  29. //                time = arrival[i]
  30. //            }
  31.            
  32.             i += 1
  33.         } else {
  34.             guestsIn -= 1
  35.             j += 1
  36.         }
  37.     }
  38.     return maxGuests
  39. //    print("Максимальное количество гостей =", maxGuests, "во времени", time)
  40. }
  41.  
  42. let arrival = [1, 2, 10, 5, 5]
  43. let exit = [4, 5, 12, 9, 12]
  44.  
  45. findMaxGuests(arrival: arrival, exit: exit)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement