Учитывая несортированный массив чисел, напишите функцию, которая возвращает истину, если массив состоит из последовательных чисел.
Примеры:
Если массив равен {5, 2, 3, 1, 4}, тогда функция должна возвращать истину, поскольку массив имеет последовательные номера от 1 до 5.
Если массив равен {83, 78 , 80, 81, 79, 82}, тогда функция должна вернуть истину, потому что массив имеет последовательные номера от 78 до 83.
Если массив равен {34, 23, 52, 12, 3}, тогда функция должна возвращать false, потому что элементы не являются последовательными.
Если массив равен {7, 6, 5, 5, 3, 4}, тогда функция должна возвращать false, потому что 5 и 5 не являются последовательными.
Я придумал следующий алгоритм:
найти максимальное и минимальное значение массива
max-min + 1 должно быть размером массива
проверить наличие дубликатов
проверить все последовательные числа между ними
Как я могу достичь 4-го пути? (сложность должна быть O (n)
)
Другие предложения приветствуются.