Сообщество RSS DEV

Подпрограммы: Обзор задач для собеседований

Текст обсуждает различные алгоритмы и их применения при решении различных задач. Он начинается с алгоритма проверки палиндрома, который можно использовать как подпрограмму в различных задачах. Алгоритм проверяет, является ли строка палиндромом, сравнивая символы с начала и конца строки. Чтобы сделать алгоритм более универсальным, можно добавить дополнительные параметры для обработки случаев, когда можно удалить не более одного символа. Это демонстрируется решением задачи LeetCode 680. Затем текст переходит к алгоритмам глубокого поиска (DFS) и широкого поиска (BFS), которые часто используются в задачах интервью. Примером задачи DFS является нахождение количества островов или самого большого острова в матрице, где '1' обозначает сушу, а '0' - воду. Решение предполагает использование DFS для обхода матрицы и подсчета количества островов или размера самого большого острова. Другим примером задачи DFS является нахождение всех выражений, которые оцениваются до целевой цифры путем введения бинарных операторов в строку чисел. Это демонстрируется решением задачи LeetCode 282. Решение предполагает использование DFS для генерации всех возможных выражений и проверки, оцениваются ли они до целевой цифры. Алгоритм использует рекурсию для изучения всех возможных выражений и откат для обрезания ветвей, которые не ведут к решению.
favicon
dev.to
Subroutines: Interview Problem Survey
Create attached notes ...