Условие задачи

Написать функцию check_duplicates(nums), где:

Функция должна вернуть True, если в массиве nums есть хотя бы один повторяющийся элемент. В противном случае, функция должна вернуть False.

Примеры

Пример 1:

nums = [1, 2, 3, 4, 5]
print(check_duplicates(nums)) # False

Пример 2:

nums = [1, 2, 3, 2, 5]
print(check_duplicates(nums)) # True

Решение

Для решения этой задачи мы можем воспользоваться хэш-таблицей. Создадим словарь dict, где ключами будут элементы массива nums, а значениями - количество их появлений в массиве. Затем, мы пройдем по всем элементам массива nums и проверим, есть ли такой элемент в словаре dict. Если есть, то мы найдем повторяющийся элемент и вернем True. Если же мы пройдем по всем элементам массива nums и не найдем повторяющиеся элементы, то вернем False.

Объяснение с примером

Пусть у нас есть массив nums = [1, 2, 3, 2, 5]. Мы создадим словарь dict, где ключами будут элементы массива nums, а значениями - количество их появлений в массиве.

dict = {1: 1, 2: 2, 3: 1, 5: 1}

Затем, мы пройдем по всем элементам массива nums и проверим, есть ли такой элемент в словаре dict. Если есть, то мы найдем повторяющийся элемент и вернем True. Если же мы пройдем по всем элементам массива nums и не найдем повторяющиеся элементы, то вернем False.

Код на Python

def check_duplicates(self, nums):
    dict = {}
    for num in nums:
        if num in dict:
            return True
        else:
            dict[num] = 1
    return False