题解 | #判断斐波那契数组#

判断斐波那契数组

http://www.nowcoder.com/practice/9df2a366eb25495caff41612bd0ffca6

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
}

全部评论
刚开始的if判断条件稍微繁琐了一些可以优化
点赞 回复 分享
发布于 2022-11-08 17:25 浙江

相关推荐

karis_aqa:和hr没关系,都是打工的
点赞 评论 收藏
分享
评论
14
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务