美团(23届秋招)前端笔经9.17场
    第三次做了…… 
  
 
  
    第一次做(8.20)没写笔经,repo在此: 8.20美团笔试 
  
 
  
    第二次做(9.10):美团(23届秋招)前端笔经9.10场 
  
 
  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之间。输出描述:输出一个非负整数,代表所求的答案。
样例输入:57 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
 投递大连飞创信息技术有限公司等公司10个岗位
投递大连飞创信息技术有限公司等公司10个岗位