«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Leetcode — Лучшее интервью –. Элемент большинства

Leetcode — Лучшее интервью –. Элемент большинства

Опубликовано 25 ноября 2024 г.
Просматривать:819

Leetcode — Top Interview –. Majority Element

Просто проблема с описанием:

Для массива чисел размера n вернуть элемент большинства.

Элемент большинства — это элемент, который появляется более ⌊n / 2⌋ раз. Вы можете предположить, что элемент большинства всегда существует в массиве.

Пример 1:

Ввод: nums = [3,2,3]
Выход: 3

Пример 2:

Ввод: nums = [2,2,1,1,1,2,2]
Выход: 2

Ограничения:

n == nums.length
1 -109

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

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

И с этим есть еще более простой способ. Если вы внимательно прочитаете описание, то поймете, что мажоритарным элементом является тот, который занимает более половины массива.

Имея это в виду, если вы отсортируете его и получите средний индекс, это решит проблему:

class Solution {
    public int majorityElement(int[] nums) {

        // sort
        Arrays.sort(nums);

        // if by majority element it means that appears more than half of nums size
        // then picking the middle element would be the one that's a majority element
        return nums[nums.length / 2];
    }
}

Время выполнения: 4 мс, быстрее, чем 54,53% онлайн-заявок на Java для Majority Element.

Использование памяти: 53,5 МБ, менее 9,23% онлайн-заявок на Java для Majority Element.

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

До следующего поста! :)

Заявление о выпуске Эта статья воспроизводится по адресу: https://dev.to/bendlmp/leetcode-top-interview-150-169-majority-element-4a1d?1 Если есть какие-либо нарушения, пожалуйста, свяжитесь с [email protected], чтобы удалить его.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3