|
1 | 1 | [#0873-length-of-longest-fibonacci-subsequence] |
2 | | -= 873. Length of Longest Fibonacci Subsequence |
| 2 | += 873. 最长的斐波那契子序列的长度 |
3 | 3 |
|
4 | | -{leetcode}/problems/length-of-longest-fibonacci-subsequence/[LeetCode - Length of Longest Fibonacci Subsequence^] |
5 | | - |
6 | | -A sequence `X_1, X_2, ..., X_n` is _fibonacci-like_ if: |
| 4 | +https://leetcode.cn/problems/length-of-longest-fibonacci-subsequence/[LeetCode - 873. 最长的斐波那契子序列的长度^] |
7 | 5 |
|
| 6 | +如果序列 `X~1~, X~2~, ..., X~n~` 满足下列条件,就说它是 __斐波那契式 __ 的: |
8 | 7 |
|
9 | 8 | * `n >= 3` |
10 | | -* `X_i + X_{i+1} = X_{i+2}` for all `i + 2 <= n` |
11 | | -
|
12 | | -
|
13 | | -Given a *strictly increasing* array `A` of positive integers forming a sequence, find the *length* of the longest fibonacci-like subsequence of `A`. If one does not exist, return 0. |
14 | | - |
15 | | -(_Recall that a subsequence is derived from another sequence `A` by deleting any number of elements (including none) from `A`, without changing the order of the remaining elements. For example, `[3, 5, 8]` is a subsequence of `[3, 4, 5, 6, 7, 8]`._) |
16 | | - |
17 | | - |
18 | | - |
19 | | - |
| 9 | +* 对于所有 `i + 2 \<= n`,都有 `X~i~ + X~i+1~ = X~i+2~` |
20 | 10 |
|
| 11 | +给定一个**严格递增**的正整数数组形成序列 arr,找到 arr 中最长的斐波那契式的子序列的长度。如果一个不存在,返回 0 。 |
21 | 12 |
|
22 | | -*Example 1:* |
| 13 | +_(回想一下,子序列是从原序列 arr 中派生出来的,它从 arr 中删掉任意数量的元素(也可以不删),而不改变其余元素的顺序。例如, `[3, 5, 8]` 是 `[3, 4, 5, 6, 7, 8]` 的一个子序列)_ |
23 | 14 |
|
24 | | -[subs="verbatim,quotes,macros"] |
25 | | ----- |
26 | | -*Input:* [1,2,3,4,5,6,7,8] |
27 | | -*Output:* 5 |
28 | | -*Explanation: |
29 | | -*The longest subsequence that is fibonacci-like: [1,2,3,5,8]. |
30 | | ----- |
| 15 | +*示例 1:* |
31 | 16 |
|
32 | | -*Example 2:* |
| 17 | +.... |
| 18 | +输入: arr = [1,2,3,4,5,6,7,8] |
| 19 | +输出: 5 |
| 20 | +解释: 最长的斐波那契式子序列为 [1,2,3,5,8] 。 |
| 21 | +.... |
33 | 22 |
|
34 | | -[subs="verbatim,quotes,macros"] |
35 | | ----- |
36 | | -*Input:* [1,3,7,11,12,14,18] |
37 | | -*Output:* 3 |
38 | | -*Explanation*: |
39 | | -The longest subsequence that is fibonacci-like: |
40 | | -[1,11,12], [3,11,14] or [7,11,18]. |
41 | | ----- |
| 23 | +*示例 2:* |
42 | 24 |
|
43 | | - |
| 25 | +.... |
| 26 | +输入: arr = [1,3,7,11,12,14,18] |
| 27 | +输出: 3 |
| 28 | +解释: 最长的斐波那契式子序列有 [1,11,12]、[3,11,14] 以及 [7,11,18] 。 |
| 29 | +.... |
44 | 30 |
|
45 | | -*Note:* |
| 31 | +*提示:* |
46 | 32 |
|
| 33 | +* `3 \<= arr.length \<= 1000` |
| 34 | +* `1 \<= arr[i] < arr[i + 1] \<= 10^9^` |
47 | 35 |
|
48 | | -* `3 <= A.length <= 1000` |
49 | | -* `1 <= A[0] < A[1] < ... < A[A.length - 1] <= 10^9` |
50 | | -* _(The time limit has been reduced by 50% for submissions in Java, C, and C++.)_ |
51 | 36 |
|
| 37 | +== 思路分析 |
52 | 38 |
|
| 39 | +哈希!遍历数组,模拟斐波那契数列的计算过程。 |
53 | 40 |
|
| 41 | +最优解是使用动态规划。回头尝试一下。 |
54 | 42 |
|
55 | 43 | [[src-0873]] |
| 44 | +[tabs] |
| 45 | +==== |
| 46 | +一刷:: |
| 47 | ++ |
| 48 | +-- |
56 | 49 | [{java_src_attr}] |
57 | 50 | ---- |
58 | 51 | include::{sourcedir}/_0873_LengthOfLongestFibonacciSubsequence.java[tag=answer] |
59 | 52 | ---- |
| 53 | +-- |
| 54 | +
|
| 55 | +// 二刷:: |
| 56 | +// + |
| 57 | +// -- |
| 58 | +// [{java_src_attr}] |
| 59 | +// ---- |
| 60 | +// include::{sourcedir}/_0873_LengthOfLongestFibonacciSubsequence_2.java[tag=answer] |
| 61 | +// ---- |
| 62 | +// -- |
| 63 | +==== |
| 64 | +
|
| 65 | +
|
| 66 | +== 参考资料 |
60 | 67 |
|
| 68 | +. https://leetcode.cn/problems/length-of-longest-fibonacci-subsequence/solutions/1656456/zui-chang-de-fei-bo-na-qi-zi-xu-lie-de-c-c4dt/[873. 最长的斐波那契子序列的长度 - 枚举+记忆化搜索+动态规划^] |
| 69 | +. https://leetcode.cn/problems/length-of-longest-fibonacci-subsequence/solutions/1654336/zui-chang-de-fei-bo-na-qi-zi-xu-lie-de-c-8trz/[873. 最长的斐波那契子序列的长度 - 官方题解^] |
| 70 | +. https://leetcode.cn/problems/length-of-longest-fibonacci-subsequence/solutions/1656437/by-ac_oier-beo2/[873. 最长的斐波那契子序列的长度 - 经典序列 DP 运用题^] |
0 commit comments