腾讯前端笔试20220424

太难辽😭先发篇帖子做一下记录,也请各位大佬分享见解思路!

第一题:放大镜(左边一倍图,右边二倍图,实现放大镜的功能)

2. 第二题:循环链表的最小字典序:
给定一个链表数组,数组中是每个链表的head节点
如 : [ {1, 2, 3}, {5, 7, 9}, {2, 3, 5}, {9, 10, 1, 2} ]
则组成的循环链表为 {1, 2, 3,  5, 7, 9,  10}
保证能组成一个循环链表;
该链表可以从环的任何一个位置断开,求字典序最小的断开方式对应的链表!


3. 第三题:股票买入卖出问题:
给定现金 m, 给定n天的股票单价数组 (长度为n)
每天最多买入一手股票,或者最多卖出一只股票,求最后一天结束后,我的最大资产(包括现金 + 股票)。

4. 数组扁平化:
给定数组arr,和层数 n,将原数组扁平化到n层;

如:[1, 2, 3, [4] ],  1
输出 [ 1, 2, 3, 4 ]

[ 1, 2, [3, [4, [5] ] ] ], 2
输出 [1, 2, 3, 4, [5]]
这是我的代码,没有通过:
let a = [1,[2,[3,[4]],5]];
let n = 2;

let dfs = (arr) => { 
    let len = arr.length;
    let  max = 0;
    for(let i = len - 1; i >= 0; i--){
        let a = arr[i];
        if(a instanceof Array){
            let ceng = dfs(a);
            if(ceng > n - 1){
                arr.splice(i, 1, ...a);
                ceng -= 1;
            }
            max = Math.max(max, ceng)
            
            
        }
    }
    return max + 1;
}

dfs(a);
print(JSON.stringify(a));

5. 拖动排序:
给定 前 n - 1 行,为 该元素的标识和序号;
序号是递增的,但不一定连续;
第 n 行,“a, b, c” 将标识为a的元素,挪到标识为 b 和 c 的元素之间。如果b为最后一个元素,则c = "0";

如:
a, 1
b, 3
c, 10
d, 15
a, d, 0

输出:
b, 1
c, 3
d, 10
a, 15


#腾讯笔试##笔试题目##前端##腾讯#
全部评论
第四题好像是拍平n次,而不是拍平到剩n层,我周围好多人都理解错了。。 发一个很简单的版本,已经ac function flatten(arr, k) {   for (let i = 0; i < k; ++i) {     arr = [].concat(...arr);   }   return JSON.stringify(arr); }
1 回复 分享
发布于 2022-04-25 10:40
楼主做出来多少,我只拿了32分😂
1 回复 分享
发布于 2022-04-24 22:28
第一个放大镜那个init中代码怎么写呀
1 回复 分享
发布于 2022-04-24 22:29
第一题:
点赞 回复 分享
发布于 2022-04-27 18:01
想问问第五题有没有ac了的题解呀,我的只过了83.3%
点赞 回复 分享
发布于 2022-04-25 15:57
第四题,普通扁平化稍改就行了。 function flat(arr, d){     if(d === 0) return arr     let res = []     for(let i = 0;i < arr.length;i++){         if(Array.isArray(arr[i])){             res = res.concat(flat(arr[i], d - 1))         }else{             res.push(arr[i])         }     }     return res }
点赞 回复 分享
发布于 2022-04-24 23:06

相关推荐

找工作勤劳小蜜蜂:自我描述部分太差,完全看不出想从事什么行业什么岗位,也看不出想在哪个地区发展,这样 会让HR很犹豫,从而把你简历否决掉。现在企业都很注重员工稳定性和专注性,特别对于热爱本行业的员工。 你实习的工作又太传统的it开发(老旧),这部分公司已经趋于被淘汰,新兴的互联网服务业,比如物流,电商,新传媒,游戏开发和传统的It开发有天然区别。不是说传统It开发不行,而是就业岗位太少,基本趋于饱和,很多老骨头还能坚持,不需要新血液。 工作区域(比如长三角,珠三角,成渝)等也是HR考虑的因素之一,也是要你有个坚定的决心。否则去几天,人跑了,HR会被用人单位骂死。
点赞 评论 收藏
分享
02-18 13:28
门头沟学院 Java
点赞 评论 收藏
分享
评论
5
29
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务