斐波那契数列和数组去重算法
来源:互联网 发布:json和jsonp的区别 编辑:程序博客网 时间:2024/05/16 10:17
1.斐波那契数列
简介:
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,
故又称为“兔子数列”,指的是这样一个数列: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*)
JavaScript实现
function fibonacci(n) { if(n==0){ return 0; } else if(n==1){ return 1; } else { return arguments.callee(n-1)+arguments.callee(n-2); }}
2.数组去重
注意事项:
对于其他类型的数值,若自身等于自身,则都是会返回true,但是对于NaN,则是false,则是在去除NaN数值重复的一个关键条件。
在数组中,对于NaN和Object类型的元素,则使用indexOf去查找,则都是返回-1,因为无法找到相同的Object和NaN,每个都不是一样的。
JavaScript实现
Array.prototype.uniq = function () { var result=[]; var flag=true; for(var i=0;i<this.length;i++){ if(result.indexOf(this[i])==-1){ if(this[i]!=this[i]){ if(flag){ result.push(this[i]); flag=false; } } else { result.push(this[i]); } } } return result;}
输入[false, true, undefined, null, NaN, 0, 1, {}, {}, 'a', 'a', NaN]
输出
[false, true, undefined, null, NaN, 0, 1, {}, {}, 'a']
阅读全文
0 0
- 斐波那契数列和数组去重算法
- 算法和斐波那契数列
- 斐波那契数列-数组和递归-C语言
- 斐波那契数列递归和非递归算法
- Java算法1-- 阶乘和斐波那契数列
- Python笔记----冒泡算法和斐波那契数列
- 斐波那契数列--数组
- 斐波那契数列-数组
- 数组实现斐波那契数列
- 重拾算法之剑指Offier——斐波那契数列
- 斐波那契数列算法实现
- 斐波那契数列php算法
- 斐波那契数列算法
- 斐波那契数列算法分析
- 斐波那契数列算法分析
- 算法练习---斐波那契数列
- 斐波那契数列算法分析
- 斐波那契数列算法分析
- 【操作系统】第一章小结
- Python笔记之http.client模块
- springMVC中遇到乱码问题
- Spring myBatis数据库连接异常
- [hdu 2276]Kiki & Little Kiki 2
- 斐波那契数列和数组去重算法
- 大话flash和eeprom
- Java 日期时间
- Codeforces 101484 E Double Fence
- c# 运算符详解
- jQuery 文档操作 之 文档的插入操作、删除、复制和替换
- SQL索引一步到位
- iPhone、iPad默认按钮样式问题
- Java 正则表达式