#33 🎄 Лайфкодинг Python: Пересекающиеся интервалы | Собеседование Python. Разбор задачи.

Поділитися
Вставка
  • Опубліковано 3 січ 2025

КОМЕНТАРІ • 9

  • @Denis-17
    @Denis-17 3 дні тому +1

    Прикольный видос. Познавательно и интересно. Спасибо.

  • @Иринакайнова-э2г

    Мне нравится, автор пиши еще❤

  • @bubblebubble5799
    @bubblebubble5799 День тому

    Можно решить, используя кучу
    def count_rooms(intervals: list[list[int]]) -> int:
    intervals.sort()
    end_dates = []
    max_rooms = 0
    for l, r in intervals:
    while end_dates and end_dates[0]

    • @zdarova_69
      @zdarova_69 День тому

      Тут же нужно стореннюю либу использовать

    • @bubblebubble5799
      @bubblebubble5799 День тому

      @zdarova_69 heapq как и collections, например, встроенные в пайтон библиотеки. На литкоде часто используются

    • @bubblebubble5799
      @bubblebubble5799 День тому

      ​@@zdarova_69, heapq, как и collections, есть сразу в пайтоне. Ничего качать не нужно, можно сразу импортировать. Куча не такая уж сложная структура данных (чуть сложнее стека или очереди), можно даже самостоятельно реализовать

  • @snackky3247
    @snackky3247 3 дні тому +1

    Во 2м решении через словарь делается попроще, да и в целом решение через словарь скорее всего в таких задачах хотят увидеть

    • @gernar228
      @gernar228  3 дні тому

      Скинь свое решение? Я решал через словари, получилось тоже самое что и во 2м варианте, только на 1 лишнее действие больше)

    • @snackky3247
      @snackky3247 3 дні тому

      Да все в целом тоже самое, только вместо кортежа с парой словарь:
      def min_rooms_best(logs):
      hm = {}
      for log in logs:
      hm[log[0]] = 1
      hm[log[1]] = -1
      hm = dict(sorted(hm.items()))
      max_int = 0
      curr = 0
      for d in hm:
      curr += hm[d]
      max_int = max(max_int, curr)
      return max_int
      Так имхо нагляднее, хотя по памяти мб и менее эффективно, тк словарь конструкция наверное пообьемнее, чем лист кортежей