3.11 美团前端笔试 美团笔试

分享两个算法题的思路,第一个完全ac,第二个完全没ac,结束了检查的时候发现第一行注释忘记解开了,难怪说最后几分钟一直测不过去。但是思路我觉得是对的,大家可以看看,欢迎大家 点赞 留言 讨论。

第一题:100%ac比较简单:给思路并举例

  1. 找出每段的长度,111 222 33333
  2. 推进一个新数组,[3,3,4]
  3. 然后对新数组每项除以二向下取证进行累加累加1+ 1+ 2 = 4
// let inchar = '111222333';
// let inchar = '11551111';
let ch_ = [],index = 0;
let left = inchar[0];
let sum = 1;
for (let  i = 1,len = inchar.length; i< len; i++){
    if(left != inchar[i] ){
        ch_[index++] = sum;
        sum = 1;
        left = inchar[i];
    }else  if(left == inchar[i]){
        sum++;
    }
    if( i == len-1){
        ch_[index++] = sum;
    }
}
let num = 0;
ch_.forEach(item=>{
    num += Math.floor(item/2);
})
console.log(ch_,num)

第二题:我把思路模拟成了,罐子里面丢糖果,不用管一一对应的问题。由于没有ac,仅供参考

关于时间复杂度:

中间两个while循环其实分别总共运行了,ch1的长度次,ch2的长度次 虽然他们是嵌套,其实你看他有shift()方法,执行一次,数组的长度就减一了,真实的运行次数就是数组长度次; 总的复杂度是: O(len) 开始for循环遍历天数 +O(ch1.length) + O(ch2.length) 两个while次数 + O(len) 最后遍历天数

近似理解O(n)即可

et n = read_line();
let char1 = gets(200020);
let char2 = gets(200020);
let ch1 = char1.split(' ')
let ch2 = char2.split(' ')
// let n = 3
// let ch1 = [2,1,5]
// let ch2 = [6,3,7];
let index = 0,step=0;
let arr = Array(100000).fill(0);
ch1.sort();
ch2.sort();
let len = ch2[ch2.length-1];
let max = 0


//确定每个时刻的的共有流行
for(let i=0; i< len; i++){
    // console.log('22')
    
    //出现就加+
    while(ch1[0] == i){
        step++;
        if(max<step) {//几率同时能看到的最大值
            max = step;
        }
        ch1.shift();
    }
    arr[i] = step;
    
    //离开一个就减一
    while(ch2[0] == i){
        step--;
        ch2.shift();
    }
}
let sum_ = 0;


//遍历每天
for(let i=0; i< len; i++){
    if(max == arr[i]){
        sum_++;
    }
}


//输出答案
console.log(max,sum_) 

全部评论
你好请问前端笔试的算法题可以用c++写吗?
点赞 回复 分享
发布于 2023-03-15 20:50 北京
想问一下,美团笔试一共几轮啊
点赞 回复 分享
发布于 2023-03-13 14:05 美国
你好请问前端笔试算法可以用java写吗
点赞 回复 分享
发布于 2023-03-13 00:05 上海
你好,前端是1共2道题嘛
点赞 回复 分享
发布于 2023-03-12 23:30 湖北

相关推荐

老粉都知道小猪猪我很久没更新了,因为秋招非常非常不顺利,emo了三个月了,接下来说一下我的情况吧本人是双非本&nbsp;专业是完全不着计算机边的非科班,比较有优势的是有两段大厂实习,美团和字节。秋招面了50+场泡池子泡死的:滴滴&nbsp;快手&nbsp;去哪儿&nbsp;小鹏汽车&nbsp;不知名的一两个小厂其中字节13场&nbsp;两次3面挂&nbsp;两次2面挂&nbsp;一次一面挂其中有2场面试题没写出来,其他的都是全a,但该挂还是挂,第三次三面才面进去字节,秋招加暑期总共面了22次字节,在字节的面评可以出成书了快手面了8场,2次实习的,通过了但没去,一次2面挂&nbsp;最后一次到录用评估&nbsp;至今无消息滴滴三面完&nbsp;没几天挂了&nbsp;所有技术面找不出2个问题是我回答不上来的,三面还来说我去过字节,应该不会考虑滴滴吧,直接给我干傻了去哪儿一天速通&nbsp;至今无消息小鹏汽车hr&nbsp;至今无消息美团2面挂&nbsp;然后不捞我了,三个志愿全部结束,估计被卡学历了虾皮二面挂&nbsp;这个是我菜,面试官太牛逼了拼多多二面挂&nbsp;3道题也全写了&nbsp;也没问题是回答不出来的&nbsp;泡一周后挂腾讯面了5次&nbsp;一次2面挂&nbsp;三次一面挂,我宣布腾讯是世界上最难进的互联网公司然后还有一些零零散散的中小厂,但是数量比较少,约面大多数都是大厂。整体的战况非常惨烈,面试机会少,就算面过了也需要和各路神仙横向对比,很多次我都是那个被比下去的人,不过这也正常,毕竟谁会放着一个985的硕士不招,反而去招一个双非读化学的小子感觉现在互联网对学历的要求越来越高了,不仅仅要985还要硕士了,双非几乎没啥生存空间了,我感觉未来几年双非想要进大厂开发的难度应该直线上升了,唯一的打法还是从大二刷实习,然后苟个转正,不然要是去秋招大概率是炮灰。而且就我面字节这么多次,已经开始问很多ai的东西了,你一破本科生要是没实习没科研懂什么ai啊,纯纯白给了
不知名牛友_:爸爸
秋招你被哪家公司挂了?
点赞 评论 收藏
分享
评论
15
26
分享

创作者周榜

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