Длина самого длинного подмассива Фибоначчи
Опубликовано: 22 Сентября, 2022
Для заданного массива arr[] целых элементов задача состоит в том, чтобы найти длину наибольшего подмассива из arr[] так, чтобы все элементы подмассива были числами Фибоначчи.
Примеры:
Input: arr[] = {11, 8, 21, 5, 3, 28, 4}
Output: 4
Explanation:
Maximum length sub-array with all elements as Fibonacci number is {8, 21, 5, 3}.Input: arr[] = {25, 100, 36}
Output: 0
Подход: Эта проблема может быть решена путем обхода массива arr[] . Выполните следующие действия, чтобы решить эту проблему.
- Инициализируйте переменные, скажем, max_length и current_length равными 0 , чтобы сохранить максимальную длину подмассива и текущую длину подмассива, чтобы каждый элемент в подмассиве был числом Фибоначчи.
- Итерация в диапазоне [0, N-1] с использованием переменной i :
- Если текущее число является числом Фибоначчи, увеличьте current_length на 1 , в противном случае установите current_length равным 0.
- Теперь назначьте max_length как максимум из current_length и max_length.
- После выполнения вышеуказанных шагов выведите max_length в качестве требуемого ответа.
Ниже приведена реализация вышеуказанного подхода:
Временная сложность: O(N)
Вспомогательное пространство: O(1)