Этот репозиторий предназначен для всех, кто хочет улучшить свои навыки решения проблем на собеседованиях по разработке программного обеспечения.
Проблемы сгруппированы по соответствующим подтемам, чтобы сосредоточиться на многократном применении общих закономерностей, а не на случайном решении вопросов.
Все вопросы доступны на сайте leetcode.com, некоторые требуют премиум-класса leetcode.
Чтобы добиться максимального успеха при практике, настоятельно рекомендуется знать методы и время выполнения следующих структур данных и их операций:
Кроме того, вы должны хорошо разбираться в общих алгоритмах, таких как:
Этот PDF-файл содержит информацию об основных структурах данных в Java.
Другие полезные методы, которые следует знать, включают substring()
, toCharArray()
, Math.max()
, Math.min()
и Arrays.fill()
.
Полный список вопросов можно найти здесь: https://seanprashad.com/leetcode-patterns/.
Решения, написанные на Java, можно найти в ветке решений.
Думаете, вопрос следует/не следует включать? Хотелось бы, чтобы была еще одна особенность? Не стесняйтесь открывать проблему с вашим предложением!
Этот список во многом основан на собеседовании по программированию с дополнительными задачами, взятыми из списка Blind 75, и этой хакернунской статьи о 14 шаблонах, которые помогут ответить на любой вопрос на собеседовании по программированию.