100 дней до Амазонки

100 дней до Amazon — День 42 — Уникальные пути

Закончились бесплатные истории? Вот моя Ссылка на друзья.

Введение🛹

Привет, ребята! Сегодня 42-й день испытания, которое я принял. При этом я буду каждый день в течение 100 дней решать вопросы по программированию, которые были заданы в предыдущих интервью.

В конце вы получите бонус, если продолжите чтение. Вы можете узнать компании, которые задавали эти вопросы в реальных интервью.

Все эти задачи взяты из следующей электронной книги. 🎓

Это совершенно бесплатно 🆓, если у вас есть подписка Amazon Kindle.

Эта электронная книга содержит 100 задач по программированию, которые были заданы в разделе вопросы для интервью с лучшими специалистами. В нем также есть руководство по решению всех проблем более чем 200 способами. Эти проблемы, уверяю вас, уже задавали в предыдущих интервью.

Вы должны решить, хотите ли вы пойти неподготовленным к техническому собеседованию или продолжить быстрый поиск этого руководства, чтобы решить 100 проблем.

Начни свое восхождение к величию🚀

Примечание. эта электронная книга содержит только ссылки на решения.

День 42 — Уникальные пути🏁

ЦЕЛЬ🏹

Робот расположен в верхнем левом углу сетки m x n (обозначен как "Начало" на диаграмме ниже).

Робот может двигаться только вниз или вправо в любой момент времени. Робот пытается достичь нижнего правого угла сетки (обозначен «Готово» на диаграмме ниже).

Теперь подумайте, не добавлены ли в сетки какие-либо препятствия. Сколько много уникальных путей будет?

Пример🕶

Input:
[
  [0,0,0],
  [0,1,0],
  [0,0,0]
]
Output: 2
Explanation:
There is one obstacle in the middle of the 3x3 grid above.
There are two ways to reach the bottom-right corner:
1. Right -> Right -> Down -> Down
2. Down -> Down -> Right -> Right

Код👇

Алгоритм👨‍🎓

  1. Создайте массив dp[][], в котором будут храниться данные о каждой позиции, если к ней можно добраться сколькими способами.
  2. Если элемент 0,0 имеет препятствие, мы не можем двигаться в любом направлении. Поэтому возвращайте null, когда он находится в этой позиции.
  3. Создайте общее количество путей для достижения через левую границу и верхнюю границу.
  4. Создайте цикл for, который проходит в каждой точке, и добавьте два значения сверху и слева от текущего индекса.
  5. Возвращает значение в конце матрицы.


Заключение🐱‍🏍

Приходилось ли вам раньше задавать этот вопрос в ходе интервью? Поделитесь им в разделе комментариев ниже. 🤝



Не забудьте нажать кнопку подписаться✅, чтобы получать обновления, когда мы публикуем новые задачи по программированию. Расскажите нам, как вы решили эту проблему. 🔥 Мы будем рады их прочитать. ❤ Мы можем рассказать о вашем методе в одном из постов блога.

Хотите стать выдающимся в программировании Java?

Нажмите ЗДЕСЬ 🧨🎊🎃

Я опубликовал электронную книгу. Подборка 100 задач программирования на Java (интервью), которые были решены.(HackerRank) 🐱‍💻

Это совершенно бесплатно 🆓, если у вас есть подписка Amazon Kindle.

Компании

  1. Google 2) Pocket Gems 3) Capital One 4) Amazon

Предыдущие записи в блоге