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
Код👇
Алгоритм👨🎓
- Создайте массив dp[][], в котором будут храниться данные о каждой позиции, если к ней можно добраться сколькими способами.
- Если элемент 0,0 имеет препятствие, мы не можем двигаться в любом направлении. Поэтому возвращайте null, когда он находится в этой позиции.
- Создайте общее количество путей для достижения через левую границу и верхнюю границу.
- Создайте цикл for, который проходит в каждой точке, и добавьте два значения сверху и слева от текущего индекса.
- Возвращает значение в конце матрицы.
Заключение🐱🏍
Приходилось ли вам раньше задавать этот вопрос в ходе интервью? Поделитесь им в разделе комментариев ниже. 🤝
Не забудьте нажать кнопку подписаться✅, чтобы получать обновления, когда мы публикуем новые задачи по программированию. Расскажите нам, как вы решили эту проблему. 🔥 Мы будем рады их прочитать. ❤ Мы можем рассказать о вашем методе в одном из постов блога.
Хотите стать выдающимся в программировании Java?
Нажмите ЗДЕСЬ 🧨🎊🎃
Я опубликовал электронную книгу. Подборка 100 задач программирования на Java (интервью), которые были решены.(HackerRank) 🐱💻
Это совершенно бесплатно 🆓, если у вас есть подписка Amazon Kindle.
Компании
- Google 2) Pocket Gems 3) Capital One 4) Amazon