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

最长的斐波那契子序列的长度_第1张图片

1、暴力法 

枚举所有可能的情况,计算每一种斐波那契数列的长度,取最大值。

	// 暴力法(不好实施)
	public int lenLongestFibSubseq(int[] A)
	{
		int a, b, aa;
		int longest = 0;
		int len = 2; // 当前斐波那契子序列的长度
		
		for (int i=0; i A[A.length-1])
						break;
					
					// 满足约束条件
					if (a + b == A[k])
					{
						a = b;
						b = A[k];
						len++;
					}
				}
				a = A[i]; // 这里很关键,必须恢复a
				longest = Math.max(longest, len);
			}
		}
		
		return longest < 3? 0: longest;
	}

 

你可能感兴趣的:(动态规划)