TomoLink
CompaniesZeptoData Structures & AlgorithmsLength of Longest Fibonacci Subsequence
DSA
MediumArray

Length of Longest Fibonacci Subsequence

arrayhash tabledynamic programming

Problem Statement

A sequence x _1 , x _2 , ..., x _n is Fibonacci-like if:

n >= 3

x _i + x _i+1 == x _i+2 for all i + 2 <= n

Given a strictly increasing array arr of positive integers forming a sequence, return the length of the longest Fibonacci-like subsequence of arr . If one does not exist, return 0 .

A subsequence is derived from another sequence arr by deleting any number of elements (including none) from arr , without changing the order of the remaining elements. For example, [3, 5, 8] is a subsequence of [3, 4, 5, 6, 7, 8] .

Examples

Example 1
Input: arr = [1,2,3,4,5,6,7,8]
Output: 5
The longest subsequence that is fibonacci-like: [1,2,3,5,8].
Example 2
Input: arr = [1,3,7,11,12,14,18]
Output: 3 Explanation : The longest subsequence that is fibonacci-like: [1,11,12], [3,11,14] or [7,11,18].

Constraints

3 <= arr.length <= 1000
1 <= arr[i] < arr[i + 1] <= 10 ^9
🤔
Medium
Difficulty
Topic Info
ModuleDSA
CategoryArray
Sub-topicHash Table
Tags
arrayhash tabledynamic programming
Navigation
Length of Longest Fibonacci Subsequence [Medium] | Zepto Dsa | TomoLink