8.18 科大讯飞 前端笔试
认识到自己有多菜,还得多练。
题型有两种,单选与编程。
1/单选比较抽象,考察了不少内存/操作系统/网络架构/交换机/哈夫曼树(考察较多)的知识点,基本没有考察前端知识。
2/编程a了2.2/3,两道签到题:一道打印输出,一道栈合并相同的数字。最后一道dfs题,求最大价值。
数据样例1
输入:2 1 4
输出:2 7 4
样例2:
输入:2 3 6 1 4
输出:11 9 6 11 4
从每个下标开始,合并相邻的比自己大的价值,可以多次合并。
宿舍大神说用dfs可以解出来,可惜当时只想着模拟,最后只过了20%,悔恨。
感谢科大讯飞能给我笔试机会,为数不多给机会的
菜,就多练,开启刷题模式!
题型有两种,单选与编程。
1/单选比较抽象,考察了不少内存/操作系统/网络架构/交换机/哈夫曼树(考察较多)的知识点,基本没有考察前端知识。
2/编程a了2.2/3,两道签到题:一道打印输出,一道栈合并相同的数字。最后一道dfs题,求最大价值。
数据样例1
输入:2 1 4
输出:2 7 4
样例2:
输入:2 3 6 1 4
输出:11 9 6 11 4
从每个下标开始,合并相邻的比自己大的价值,可以多次合并。
宿舍大神说用dfs可以解出来,可惜当时只想着模拟,最后只过了20%,悔恨。
感谢科大讯飞能给我笔试机会,为数不多给机会的
菜,就多练,开启刷题模式!
全部评论
佬,要帮忙内推么?
function maximize(arr) {
let index = 0
let l = 0
let r = 1
let result = []
for (let i = 0; i < arr.length && index < arr.length; i++) {
let acc = arr[index]
while (arr[index] < arr[r]) {
acc += arr[r]
r++
}
while (arr[index] < arr[l]) {
acc += arr[l]
l--
}
result[index] = acc
index++
l = index - 1
r = index + 1
}
return result
}
console.log(maximize([2, 1, 4])) // [ 2, 7, 4 ]
console.log(maximize([2, 3, 6, 1, 4])) // [ 11, 9, 6, 16, 4 ]
最后一题递归几行代码就写好了,反而第二题我都不知道为什么我例子都是对的自己测也是对的,提交就是错的
相关推荐
01-06 19:58
门头沟学院 后端 点赞 评论 收藏
分享
点赞 评论 收藏
分享