工程效能全栈实习生面试 50min
学习前端的路径
为什么研究源码,实习和青训做了什么
掌握哪些排序算法,应该怎么用
linklist和arraylist区别
react hooks
useref 的使用,除了操作dom还有其他作用吗
jwt实现原理
斐波那契数
逐渐优化1
2
3
4
5
6
7
8
9
10let rem = []
function fib(n){
if(n<=1)return n
if(rem[n])return rem[n]
rem[n-1] = fib(n-1)
rem[n-2] = fib(n-2)
return rem[n-1] + rem[n-2]
}
console.log(fib(55));将数组(含有负数)中的每一个数字平方,确保返回的数组还是有序的。
要求时间复杂度O(n)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
37function reverse(arr, i, j){
let temp
while(i<j){
temp = arr[i]
arr[i] = arr[j]
arr[j] = temp
i++
j--
}
}
function process(arr){
let array = arr.map(x => x * x)
let idx = 0
for(let i=1;i<array.length;i++){
if(array[i] < array[idx]){
idx = i
}
}
reverse(array,0,idx)
// console.log(array);
let l = 0, r = idx + 1,k = 0
let res = []
while(l <= idx && r < array.length){
res.push(array[l] < array[r] ? array[l++] : array[r++])
}
while(l <= idx){
res.push(array[l++])
}
while(r < array.length ){
res.push(array[r++])
}
console.log(res);
}
process([-6,-3,-2,0,1,2,3])创建一个调用func的函数,使得func在程序中最多调用n次。之后再调用这个函数,将返回最后调用func的结果。
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/**
* 创建一个调用func的函数,使得func在程序中最多调用n次。之后再调用这个函数,将返回最后调用func的结果。
* 参数:
* n (number): 超过多少次不再调用func(注:限制调用func 的次数)。
* func (Function): 限制执行的函数。
*/
function process(fn,n){
let time = 0
let res
return function (){
if(time == n)return res
let context = this
time ++
res = fn.apply(context, arguments)
return res
}
}
function func(){
return Math.random()
}
let fn = process(func, 3)
console.log(fn());
console.log(fn());
console.log(fn());
console.log(fn());
console.log(fn());
console.log(fn());反问
面的是全栈,回头复习一下 golang 和 java