20+ проблем с кодированием массивов и вопросов из собеседований по программированию

Привет, ребята! Массив — это самая фундаментальная структура данных, в которой элементы хранятся в непрерывной области памяти. Это также одна из любимых тем интервьюеров, и вы услышите много вопросов о массиве в любом собеседовании по кодированию, например, о обращении массива, сортировке массива или поиске элементов в массиве.

Ключевым преимуществом структуры данных массива является то, что она предлагает быстрый поиск O (1), если вы знаете индекс, но добавление и удаление элемента из массива происходит медленно, потому что вы не можете изменить размер массива после его создания.

Чтобы создать более короткий или более длинный массив, вам нужно создать новый массив и скопировать все элементы из старого в новый.

Что должен знать каждый программист о массиве

  1. Индекс массива начинается с 0, а не с 1.
  2. Массивы в основном представляют собой неизменяемую структуру данных, длина которой не может быть изменена после создания, изменяемый массив называется списком.
  3. Массиву требуется блок памяти для распределения, называемый последовательным расположением памяти, это означает, что даже если у вас есть память, вы не можете выделить большой массив, если память разбросана.
  4. Поиск по индексу в массиве — O (1), но вставить и удалить нелегко, потому что вам может потребоваться переупорядочить массив.
  5. Массив в основном представляет собой однородную структуру данных, это означает, что вы не можете хранить строку в целочисленном массиве и наоборот.
  6. Массив может быть одномерным или многомерным. Двумерный массив известен как Matrix и очень полезен в играх для создания 2D-мира с использованием плиток.

Ключом к решению вопросов, связанных с массивами, является хорошее знание структуры данных массива, а также базовых конструкторов программирования, таких как цикл, рекурсия и основные операторы.

Если вы не знакомы с этими концепциями, я настоятельно рекомендую вам сначала пройти комплексный курс по структуре данных и алгоритмам, например Структуры данных и алгоритмы: глубокое погружение с использованием Java, в котором подробно объясняется основная структура данных. . Это также очень доступно, так как вы можете купить этот курс всего за 9,9 доллара на сумасшедших распродажах Udemy, которые случаются время от времени.

См. также:  Автоматически входить в сеть IIT (или большинство корпоративных прокси-серверов)

20+ массивов вопросов из интервью по программированию

Вот некоторые из популярных вопросов на собеседовании по кодированию на основе массивов для вашей практики:

  1. Как найти недостающее число в заданном целочисленном массиве от 1 до 100? (Решение)
  2. Как найти повторяющееся число в заданном целочисленном массиве? (Решение)
  3. Как найти наибольшее и наименьшее число в несортированном целочисленном массиве? (Решение)
  4. Как найти все пары целочисленного массива, сумма которых равна заданному числу? (Решение)
  5. Как найти повторяющиеся числа в массиве, если он содержит несколько дубликатов? (Решение)
  6. Как удалить дубликаты из заданного массива в Java? (Решение)
  7. Как искать целевое значение в повернутом массиве? (решение)
  8. Учитывая несортированный массив целых чисел, найти длину самой длинной последовательности последовательных элементов? (решение)
  9. Как целочисленный массив сортируется на месте с помощью алгоритма быстрой сортировки? (Решение)
  10. Как удалить дубликаты из массива на месте? (Решение)
  11. Как в Java перевернуть массив? (Решение)
  12. Как удалить дубликаты из массива без использования какой-либо библиотеки? (Решение)
  13. Как преобразовать байтовый массив в String? (Решение)
  14. В чем разница между массивом и связанным списком? (Ответ)
  15. Как выполнить двоичный поиск в заданном массиве? (Решение)
  16. Как найти медианное значение массивов двух сортов? (решение)
  17. Как повернуть массив влево и вправо на заданное число K? (Решение)
  18. Как найти дубликаты в несортированном массиве? (Решение)
  19. Учитывая массив целых чисел, отсортированных в порядке возрастания, найти начальную и конечную позиции заданного значения? (решение)
  20. Для целочисленного массива найти непрерывный подмассив (содержащий хотя бы одно число) с наибольшей суммой и вернуть его сумму? (решение)

Эти вопросы не только помогут вам развить навыки решения проблем, но и улучшат ваши знания о структуре данных массива.

Если вам нужны более сложные вопросы, основанные на массиве, вы также можете посмотреть LeetCode в Python: 50 вопросов для собеседования по кодированию алгоритмов, курс в стиле учебного лагеря, чтобы изучить методы решения проблем, структуры данных и алгоритмы для пройти собеседование по кодированию в таких компаниях, как google

В этом курсе автор собрал 50 наиболее важных и популярных вопросов на собеседовании, которые задают эти крупные компании, и я объясняю их по-настоящему ШАГ ЗА ШАГОМ, чтобы помочь вам понять, как именно решать подобные вопросы.

 

LeetCode в Python: 50 вопросов для собеседования по программированию алгоритмов
Готовитесь к собеседованию по программированию? Это место для тебя. Хотите узнать больше о… Udemy.com

См. также:  Функция активации Swish с большей эффективностью памяти

 

И, если вы чувствуете, что этих 20 вопросов недостаточно и вам нужно больше практики, вы также можете проверить этот список 30 вопросов о массивах.

Лучшие ресурсы для собеседований по программированию

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

Если вам нужны рекомендации, ниже приведены некоторые из моих проверенных и проверенных ресурсов для углубленного изучения структуры данных и алгоритмов для собеседований по кодированию:

И, если вы предпочитаете книги, нет ничего лучше, чем Интервью Cracking The Coding от Гейл Лаакманн МакДауэлл, в котором представлены 189+ вопросов по программированию и решения. Хорошая книга для подготовки к программированию собеседований за короткое время. Кстати, я также заработаю немного денег, если вы купите любой из этих ресурсов, упомянутых здесь.

См. также:  1 строка для встраивания слов ELECTRA с NLU в Python

Теперь вы готовы к собеседованию по программированию

Это одни из самых распространенных вопросов, выходящих за рамки структуры данных и алгоритмов, которые помогут вам хорошо провести собеседование.

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

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

Если вы ищете работу в области программирования или разработки программного обеспечения в 2021 году, вы можете начать подготовку с этого списка вопросов по кодированию.

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

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

Другие статьи с интервью по программированию и кодированию, которые могут вам понравиться

  1. 25 проблем проектирования программного обеспечения из собеседований по программированию
  2. 21 проблема кодирования строк из интервью
  3. 10 книг по алгоритмам, которые должен прочитать каждый программист
  4. 20+ задач на двоичное дерево из собеседований по кодированию
  5. 5 лучших книг по структуре данных и алгоритмам для разработчиков Java
  6. 20+ задач кодирования на основе связанных списков из интервью по программированию
  7. 100+ задач по программированию для начинающих и опытных программистов
  8. 10 курсов, которые помогут взломать ваше следующее собеседование по программированию
  9. 20+ вопросов для собеседования по Java от инвестиционных банков

Заключительные примечания

Спасибо, вы дочитали до конца статьи … Удачи вам с собеседованием по программированию! Конечно, это будет непросто, но, следуя этой дорожной карте и руководству, вы на один шаг ближе к тому, чтобы стать разработчиком программного обеспечения.

Если вам понравилась эта статья, поделитесь ею с друзьями и коллегами и не забудьте подписаться на javinpaul в Твиттере!

P.S. — Если вам нужны БЕСПЛАТНЫЕ ресурсы, вы можете проверить этот список бесплатных курсов по структуре данных и алгоритмам, чтобы начать подготовку.

 

Мои любимые бесплатные курсы и сертификаты для углубленного изучения структур данных и алгоритмов
Кураторский список некоторых из лучших бесплатных онлайн-курсов для изучения структуры данных и алгоритмов для программистов. medium.com

 

Понравилась статья? Поделиться с друзьями:
IT Шеф
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: