Повторяющиеся целые числа

Дан массив целых чисел nums. Верните true, если какое-либо значение встречается более одного раза в массиве, в противном случае верните false.

Пример 1:

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

Пример 2:

Input: nums = [1, 2, 3, 4] Output: false

Рекомендуемая временная и пространственная сложность

Вам следует стремиться к решению с временной сложностью O(n) и пространственной сложностью O(n), где n — размер входного массива.


Подсказка 1

Решение грубой силы заключалось бы в проверке каждого элемента по отношению к каждому другому элементу в массиве. Это было бы решение с временной сложностью O(n^2). Можете ли вы придумать более эффективный способ?


Подсказка 2

Можно ли проверить, является ли элемент дубликатом, не сравнивая его с каждым другим элементом? Возможно, здесь полезна какая-то структура данных.


Подсказка 3

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

Эта задача проверяет способность эффективно определять наличие дубликатов в массиве целых чисел. Она помогает развивать навыки работы с хеш-таблицами и множествами, а также улучшает понимание временной и пространственной сложности алгоритмов. Решение задачи способствует укреплению логического мышления и способности оптимизировать код для работы с большими объемами данных.

Входные параметры :

[1, 2, 3, 3]

Ожидаемый результат

true