2018美团秋招笔试记录

记录今夜参加美团秋招二批笔试


抱着尝试和学习的态度,前阵子向美团投递了简历,刚刚结束前端岗位的笔试,总时长2小时20分。当作者看到这个时间长度时是很开心的,然而还是太年轻…时间依旧不够用…

先介绍一下笔试题型:逻辑20题、选择30题( 单项、不定项混合 )、编程2大题

对作者来说最大的坑是逻辑…重点不在难度上,而是密密麻麻的计算, 这是一种变相的“毒”,当掰着指甲紧锣密鼓计算时,时间流走了45分钟…不过确实反应出个人的思维敏捷度

选择题数量较多,但难度不高,虽然考察范围较广,但在接受范围内,毕竟不会出现PHP之类…

重头戏是编程的两道题,称之半壁江山也不为过,每道30分…

1. 某某先生有钱任性,买了个n位数的车牌,但是嫌弃号码不好,想把车牌的k位数字全部变成其中的一位( 1 < k < n+1 ),但每更换一个数字,需要缴纳 | a - b | 的费用 ( a:改后的数字, b:改前的数字 ),但是暴发户想要省点钱干其他的事情… 那么如何得出花费m最小的方案 ( 存在多种方案时默认选择第一种方案 ) ?

输入例子

  8  7
  94434742

结果输出

  6
  94444444

这道题的题目要求十分清晰,就是在原有车牌的号码中挑选出一位,使其改完k位后的费用最少。

作者本人的解题思路大致如下:

  1. 遍历整个车牌car数组,以每一个值作为基础值去求得总体需要花费的费用存储在money数组中
  2. 遍历money数组得出金额最小值 ( 全部数值 ) 和对应的位置( 因为数组是按顺序存储,所以位置对应车牌号码中数字的位置 ,获得替换的数字num )
  3. 再次遍历car数组,将其中每一个值与num相减后取得绝对值存入choice数组
  4. 根据k值,在choice数组中剔除大的几个数,并取得相应数字,从num中减去 ( 此处得出最少金额 m ) ,后取得k个满足要求的数据位置存入position数组
  5. 遍历position数组,替换car数组中对应位置的数字,输出成字符串 ( 此处输出结果方案 )

因为笔试过程中设备出现点问题,导致4、5并没有完成,有点可惜,而且当下复述的时候发现有部分想法和代码亢余,可能不尽完善,如果有错误或者更好的解决方案,希望你能够知会我。

2. 勇者斗恶龙,初始给定的恶龙数量n和勇者初始血量m,勇者每次击杀恶龙会损失一定血量,击杀后将回复部分血量,问勇者能够击杀的恶龙数量 ?

输入例子

  3  3
  1  0
  2  1
  3  2

输出例子

  2

从给定的题目和要求可以判定,题目考察的要点就是死亡判断的时间点,题目比较简单。但作者差那么一点点没写完…没写完…我想静静了…


如果您有更好的学习经验愿意分享给我,欢迎留言。学无止境!!!

你可能感兴趣的:(2018美团秋招笔试记录)