Разбор алгоритма 463. Island Perimeter

แชร์
ฝัง
  • เผยแพร่เมื่อ 30 พ.ย. 2024

ความคิดเห็น • 5

  • @dxnich
    @dxnich ปีที่แล้ว +1

    Проходим строки. Если текущее значение отличается от предыдущего, добавляем к периметру 1.
    Перед каждой новой строкой "предыдущее" значение приравнивается к 0, в конце каждой строки используем дополнительное "следующее" значение тоже 0.
    Точно так же проходим столбцы. В результате получаем периметр.
    Циклом надо пройти row x col два раза, но в теле цикла только одно условие. Приемлемая скорость. Может быть несколько островов, внутри острова могут быть озёра, периметр суши в любом случае посчитается корректно.
    Это то, что в голову сразу пришло.
    Второй вариант - ищем первую ячейку с "землёй", запоминаем координату, а потом обходим край по алгоритму обхода лабиринта, пока не вернёмся в начало. Меньше итераций, но больше условий. Хз что будет работать быстрее. Но для этого варианта очень кстати условие с озёрами и диагональными соединениями.

    • @johnkostanov
      @johnkostanov  ปีที่แล้ว

      Спасибо за дополнительные варианты решения алгоритма. 👍

  • @johnkostanov
    @johnkostanov  ปีที่แล้ว

    Уже известна дата следующего запуска курса по подготовке к техническому собеседованию для iOS-разработчиков.
    Старт курса запланирован на 11.12.2023г.
    04.12.2023г. мы проведем созвон для тех, кто записался на курс.
    На этом созвоне мы более подробно расскажем про курс.
    Записаться на курс можно заполнив анкету по этой ссылке:
    forms.gle/cZxa54R2fdgzghbH6

  • @Neurotoxin400
    @Neurotoxin400 ปีที่แล้ว

    Вы индус ?

    • @johnkostanov
      @johnkostanov  ปีที่แล้ว

      Почему ты так решил? 🤣