2022春暑期实习-网易雷火前端-笔试(AK)
选择7道 21分
不定项5道 30分
填空2道 多少分来着
问答2道 不记得了
编程题3道 easy easy middle水平,核心代码模式,总码量不到40行- -
20分钟写完编程就交卷出来玩了,啧
问答-2 get函数实现
笔试完,用copilot补全出来了 乐
let obj = {a:[{b: {c: 1}}]}
// console.log(obj.a[0].b.c)
function get(obj, str) {
str = str.split('.')
let len = str.length
for(let i = 0; i < len; ++i) {
if(str[i] && str[i].indexOf('[') != -1) {
let index = str[i].match(/\[(\d+)\]/)[1]
let name = str[i].split('[')[0]
if(name in obj) {
obj = obj[name][index]
} else {
return undefined
}
} else if(str[i] in obj && obj[str[i]]) {
obj = obj[str[i]]
} else {
return undefined
}
}
return obj
}
console.log(get(obj, 'a[0].b.c'))
console.log(get(obj, 'a[0].b.s'))
console.log(get(obj, 'a.s.q'))编程题-1 斐波那契
斐波那契,一行秒 return n == 0 || n == 1? n: fib(n-1)+fib(n-2)
编程题-2 括号匹配
秒,栈就行了,*号直接忽略
编程题-3 最长递增子序列长度
做烂了都,dp就完事咯:冲刺春招-精选笔面试 66 题大通关 day12
dp[i]表示0~i中最长递增子序列长度,每次在0到i-1中找可以与当前i构成递增序列的j,取其中最大的那个作为dp[i]
最后更新于
这有帮助吗?