每日一题873. 最长的斐波那契子序列的长度

Posted 爱写Bug的王六六

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日一题873. 最长的斐波那契子序列的长度相关的知识,希望对你有一定的参考价值。

873. 最长的斐波那契子序列的长度

参考:【宫水三叶】经典序列 DP 运用题

定义 f[i][j]为使用 arr[i] 为斐波那契数列的最后一位,使用 arr[j] 为倒数第二位(即 arr[i]的前一位)时的最长数列长度。

首先根据斐波那契数列的定义,我们可以直接算得 arr[j]前一位的值为 arr[i] - arr[j],而快速得知 arr[i] - arr[j] 值的坐标 t,可以利用 arr 的严格单调递增性质,使用「哈希表」对坐标进行转存,若坐标 t 存在,并且符合 t<j,说明此时至少凑成了长度为 3 的斐波那契数列,同时结合状态定义,可以使用 f[j][t] 来更新 f[i][j],即有状态转移方程:
f [ i ]

以上是关于每日一题873. 最长的斐波那契子序列的长度的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 873. 最长的斐波那契子序列的长度

LeetCode 0873.最长的斐波那契子序列的长度

Leetcode 873 最长斐波那契子序列 记忆化递归与剪枝DP

LeetCode 873 最长的斐波那契序列的长度[双指针 二分法 动态规划 Map] HERODING的LeetCode之路

最长斐波那契子序列选取(离散化 + 二分 + DP)

最长斐波那契序列-LeetCode-873