100 дней до Амазонки
100 дней до Amazon — 44-й день — минимальная стоимость подключения
Закончились бесплатные истории? Вот моя Ссылка на друзья.
Введение🛹
Привет, ребята! Сегодня 44-й день испытания, которое я принял. При этом я буду каждый день в течение 100 дней решать вопросы по программированию, которые были заданы в предыдущих интервью.
В конце вы получите бонус, если продолжите чтение. Вы можете узнать компании, которые задавали эти вопросы в реальных интервью.
Все эти задачи взяты из следующей электронной книги. 🎓
Это совершенно бесплатно 🆓, если у вас есть подписка Amazon Kindle.
Эта электронная книга содержит 100 задач кодирования, которые были заданы в вопросах для интервью с ведущими специалистами. В нем также есть руководство по решению всех проблем более чем 200 способами. Эти проблемы, уверяю вас, уже задавали в предыдущих интервью.
Вы должны решить, хотите ли вы пойти неподготовленным на техинтервью или продолжить быстрый поиск этого руководства, чтобы решить 100 проблем.
Начни свое восхождение к величию🚀
Примечание. эта электронная книга содержит только ссылки на решения.
День 44 — Минимальная стоимость соединения веревок🏁
ЦЕЛЬ🏹
Имея n
веревок разной длины, нам нужно соединить эти веревки в одну веревку. Мы можем соединить только 2 веревки одновременно.
Стоимость соединения двух веревок равна сумме их длин.
Длина этой соединенной веревки также равна сумме их длин. Этот процесс повторяется до тех пор, пока n
веревки не будут соединены в одну веревку.
Найдите минимальную возможную стоимость соединения всех веревок.
Пример🕶
Input: ropes = [8, 4, 6, 12]
Output: 58
Explanation: The optimal way to connect ropes is as follows
1. Connect the ropes of length 4 and 6 (cost is 10). Ropes after connecting: [8, 10, 12]
2. Connect the ropes of length 8 and 10 (cost is 18). Ropes after connecting: [18, 12]
3. Connect the ropes of length 18 and 12 (cost is 30).
Total cost to connect the ropes is 10 + 18 + 30 = 58
Код👇
Алгоритм👨🎓
- Создайте очередь с приоритетом. В очереди с приоритетом любой элемент массива будет храниться в отсортированном порядке.
- Повторить данный список и добавить их в приоритетную очередь.
- Пока размер очереди не уменьшится до одного запуска цикла.
- Каждая итерация опрашивает (удаляет) первые два элемента очереди, добавляет их и снова добавляет в очередь.
- При добавлении этих двух элементов также добавьте их в значение результата.
- Вернуть значение результата.🔚
Заключение🐱🏍
Приходилось ли вам раньше задавать этот вопрос в ходе интервью? Поделитесь им в разделе комментариев ниже. 🤝
Не забудьте нажать кнопку подписаться✅, чтобы получать обновления, когда мы публикуем новые задачи по программированию. Расскажите нам, как вы решили эту проблему. 🔥 Мы будем рады их прочитать. ❤ Мы можем рассказать о вашем методе в одном из постов блога.
Хотите стать выдающимся в программировании Java?
Нажмите ЗДЕСЬ 🧨🎊🎃
Я опубликовал электронную книгу. Подборка 100 задач программирования на Java (интервью), которые были решены.(HackerRank) 🐱💻
Это совершенно бесплатно 🆓, если у вас есть подписка Amazon Kindle.
Компании
- Google 2) Pocket Gems 3) Capital One 4) Amazon