19_判断斐波那契数组

本题考点:斐波那契数列

根据题目要求,判断数组参数中的值是否符合斐波那契数列,该数列指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、...。在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*),核心步骤有:

  1. 首先判断数组参数的长度是否小于3,第一、二项的值是否分别为0、1,如果其中一项不符合,那么返回false
  2. 遍历数组参数,从第三项开始,判断该项的值是否符合F(n)=F(n - 1)+F(n - 2),是则continue,否则返回false
  3. 当数组遍历完成时返回true

参考答案

const _isFibonacci = array => {
    if(array.length < 3 || array[0] !== 0 || array[1] !== 1) return false
    for(let i=2 ; i<array.length ; i++) {
        if(array[i] === array[i-1] + array[i-2]) continue
        return false
    }
    return true
}