美团(23届秋招)前端笔经9.17场


第三次做了……
第一次做(8.20)没写笔经,repo在此: 8.20美团笔试

9.17  10:00 笔试

平台:赛码网;时间:120min;总分100分
题型:单选20*2分=40分;专项选择10*2分=20分;编程2*20分=40分;问答题0分

一、单选题
选择…好难,几乎没有前端题…(不懂为什么这么考

二、专项选择
其实就是跟行测差不多啦,规律题、数学题……

三、编程题(acm模式)
题1(20分):
题目描述:
小团喜欢完整且连续的东西,比如连续的一段整数,如3 4 5 6 7。
如果一个数组在按升序或降序排列之后是连续的一段整数,那么他会觉得这个数组很好看。
现在小团有一个可能不那么好看的数组,而他想通过数次形容“将第k个元素加1”或“将第k个元素减1”的操作将其变成好看的数组。
他想知道至少要进行多少次操作才能将他的这个数组变成他认为好看的数组。
输入描述:
第一行有一个正整数(1≤n≤1000),代表数组中的个数。
第二行有n个空格隔开的整数,代表数组中的n个数。
这些数的大小在1到10000之间。
输出描述:
输出一个非负整数,代表所求的答案。

样例输入:
5
7 3 11 5 2
样例输出:
7
提示:
其中一个最优解为将五个元素2调整成4,将第三个元素11调整成6,最后得到的数组是7 3 6 5 4。
这个数组排序之后可以得到一段连续的整数3 4 5 6 7 ,因此是一个小团觉得好看的数组。
个人解答(通过82%):
let n = parseInt(read_line())
let arr = read_line().split(' ').map(item=>parseInt(item))
arr.sort((a,b)=>a-b)
let sum = new Array(n)
let res = new Array(n)
arr.forEach((item,index)=>{
  abc(index,item)
  sum[index]=0
  res.forEach((it,ind)=>{
    sum[index] += Math.abs(it-arr[ind])
  })
})
sum.sort((a,b)=>a-b)
题2(20分):

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

zkey秋招之旅 文章被收录于专栏

秋招过程中的笔面记录 (持续更新,欢迎订阅~ 祝大家早日offer

全部评论
这个分享太实用了
点赞 回复 分享
发布于 2022-10-18 21:46 山西
收到面试通知了嘛
点赞 回复 分享
发布于 2022-11-06 13:53 广东
北京农商银行
校招火热招聘中
官网直投

相关推荐

点赞 7 评论
分享
牛客网
牛客企业服务