День 11 - 100 дней до LinkedIn, Yahoo, Oracle

  • Закончились бесплатные истории? Вот моя Ссылка на друга.
  • 100 дней до LinkedIn, Yahoo, Oracle

Введение🛹

Привет, ребята, сегодня 11 день 100 дней до LinkedIn Challenge.

Если вы готовитесь к интервью. Даже если вы устроились на своей работе, держать себя в курсе последних задач на собеседовании важно для вашего карьерного роста. Начните свою подготовку с здесь!

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

Прежде чем мы перейдем к первой проблеме, если вам интересно, почему я выбрал LinkedIn, Yahoo и Oracle вместо FAANG, потому что я выполнил задачу Сосредоточение внимания на вопросах интервью Amazon и Facebook в этой серии:



Новый день, новые силы, новые мысли🚀

День 11 - K наиболее частых элементов🏁

AIM🏹

Учитывая непустой массив целых чисел, верните k наиболее часто используемых элементов.

Пример🕶

Input: nums = [1,1,1,2,2,3], k = 2
Output: [1,2]

Примечание. Оно должно быть лучше, чем O (N log N)

Код👇

Алгоритм👨‍🎓

  1. Наивный подход состоит в том, чтобы отсортировать весь массив и вернуть K элементов из конца массива. Но у нас есть ограничение, которое должно работать лучше, чем O (N log N).
  2. Создайте хэш-карту и сохраните элемент и его частоту в массиве как пару "ключ-значение".
  3. Создайте приоритетную очередь с условием по умолчанию для сортировки по убыванию. Уловка здесь заключается в сортировке по значениям, а не по самому ключу.
  4. Итак, a = map.get (a), b = map.get (b)
  5. Теперь добавьте ключи хэш-карты в очередь приоритетов. Ключи будут отсортированы по их значениям в очереди.
  6. Все, что вам нужно сделать, это опросить первые K элементов очереди. Поместите его в список / массив.
  7. Вернуть список / массив 🔚

Дальнейшее чтение

4 невероятно полезных совета по связному списку для собеседования
25 лучших вопросов для собеседований по Amazon SDE
Как вы думаете, вы действительно знаете о числах Фибоначчи?
9 лучших задач со строками, решаемых с помощью C Программирование
Не просто решить 50 задач, связанных с рангом хакера

Конец строки

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

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



Не забывайте нажимать кнопку подписки✅, чтобы получать обновления, когда мы публикуем новые задачи по кодированию. Расскажите, как вы решили эту проблему. 🔥 Мы были бы рады их прочитать. ❤ Мы можем рассказать о вашем методе в одном из сообщений блога.

Хотите стать выдающимся в программировании на Java?

Подборка решенных 100 проблем программирования на Java (интервью). (Hacker Rank) 🐱‍💻. Это полностью бесплатно 🆓, если у вас есть подписка на Amazon kindle.