Это 30-й день моего участия в августовском испытании обновлений. Узнайте подробности события:Испытание августовского обновления
Статьи по Теме
Резюме вопросов кисти LeetCode:Вопросы по кисти LeetCode
1. Описание темы
Учитывая массив четной длины, где разные числа представляют разные виды конфет, каждое число представляет собой конфету. Вам нужно разделить эти конфеты поровну между младшим братом и младшей сестрой. Возвращает максимальное количество видов конфет, которые может получить сестра.
Начните чистить зубы с простых вопросов, тренируйте свои мыслительные способности и готовьтесь к интервью~
2. Анализ мыслей
-
Взгляните на пример заголовка, давайте взглянем на эту идею~
-
Пример 1:
输入: candies = [1,1,2,2,3,3] 输出: 3 解析: 一共有三种种类的糖果,每一种都有两个。 最优分配方案:妹妹获得[1,2,3],弟弟也获得[1,2,3]。这样使妹妹获得糖果的种类数最多。
-
Пример 2:
输入: candies = [1,1,2,3] 输出: 2 解析: 妹妹获得糖果[2,3],弟弟获得糖果[1,1],妹妹有两种不同的糖果,弟弟只有一种。这样使得妹妹可以获得的糖果种类数最多。
-
Сначала определите смысл названия.
-
Количество конфет должно быть четным.
-
Но тип конфеты не обязательно, может быть две 1 конфеты, одна 2 и одна 3 конфеты.
-
В этом случае сестре нужно дать два вида, потому что сестре нужно самое большое разнообразие конфет.
-
Наступив на яму, можно придумать, как написать.
-
Как найти уникальные элементы?
-
задавать! ! ! Мы можем использовать set для определения всех уникальных элементов.
-
Наконец, размер набора рассчитывается как количество видов конфет.
-
Возвращаемое значение снова будет задано как min(count,n/2).
-
min(count,n/2) Наименьшее число среди заданных чисел. Возвращает, если какой-либо из аргументов не может быть преобразован в числовое значение.
NaN
.
3. Код переменного тока
-
установить метод взлома:
class Solution { public int distributeCandies(int[] candyType) { HashSet < Integer > set = new HashSet < > (); for (int candy: candyType) { set.add(candy); } return Math.min(set.size(), candyType.length / 2); } }
- Он по-прежнему очень эффективен
4. Резюме
- Есть тысячи идей для решения проблем, будь то хорошее решение или фантастическое решение, это хороший способ решить его! Кот с белым котом и черным котом, умеющим ловить мышей, — хороший кот!
- Вот несколько других решений LeetCode для справки!
- Нажмите, чтобы прыгнуть:официальное решение
- Нажмите, чтобы прыгнуть:Решение 2
Впереди долгий путь, и я обязательно буду его искать вдоль и поперёк~
Если вы думаете, что я блогеры хорошо пишу! Писать нелегко, пожалуйста, ставьте лайки, подписывайтесь и комментируйте, чтобы поощрять блоггеров ~ хахах