-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfibonaci.js
92 lines (70 loc) · 1.99 KB
/
fibonaci.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
// 实现斐波那契数列
//测试使用时长
function testTime(n,func){
let startTime = new Date().getTime(),endTime =''
console.log('%c ' + 'test time start ','background: pink; color: #333333;padding:4px 2px;')
console.log('startTime',startTime )
func(n)
endTime = new Date().getTime()
console.log('endTime---',endTime,'ToastTime---',endTime - startTime )
console.log('%c ' + 'test time end ','background: pink; color: #d9d9d9;padding:4px 2px;')
}
`使用递归方法实现`
function finbonaci1 (n){
return (n===0 || n===1) ? n : finbonaci1(n-1) + finbonaci1(n-2)
}
// ` 数据缓存 递归方法`
// let finbonaci2 = (function(){
// let memory = []
// return function(n){
// if(memory[n]!==undefined){
// return memory[n]
// }
// return memory[n] = (n===1|| n===0) ? n : finbonaci2(n-1) + finbonaci2(n-2)
// }
// })()
` 使用递推方法(动态规划)`
function finbonaci3(n){
let current = 0,next =1;
for(let i=0;i<n;i++){
[current,next] = [next,next+current]
}
return current
}
// 使用while
function finbonaci4(n){
let current = 0,next =1;
while(n>0){
n--;
[current,next] = [next,next+current]
}
return current
}
`尾部调用`
function finbonaci5(n,current = 0, next= 1) {
if(n ===0 ) return 0;
if(n ==1 ) return next
return finbonaci5(n-1,next,current+next)
}
testTime(8,finbonaci1)
// testTime(8,finbonaci2) ddddd
testTime(8,finbonaci3)
testTime(8,finbonaci4)
testTime(8,finbonaci5)
question = [{id:'1'},{id:'2'},{id:'3'},{id:'4'}]
answer = [{id:'3'},{id:'1'}]
result = []
question.map((item,index)=>{
for(let value of answer){
if(item.id=== value.id){
result.push(index)
}
}
})
const cdnExtenial = ['react','react-router','redux']
/*CDN 服务 host:cdn.bootcss.com/
包名:react
版本号:16.9.0
包路径:umd/react.production.min.js
*/
//编写webpack插件 自动生成 CDN Link script 标签 ,