#软件开发笔面经#25届 美团 软件开发工程师 秋招笔试整个笔试过程1个半小时,10道左右选择题,三道编程题编程题三道题,第一题和第二题还行,第三题比较难第一题: 小美准备登录美团,需要输入密码,小美忘记了密码,只记得密码可能是 n个字符串中的一个。小美会按照密码的长度从小到大依次尝试每个字符串,对于相同长度的字符串,小美随机尝试,并且相同的密码只会尝试一次。小美想知道,她最少需要尝试多少次才能登录成功,最多需要尝试多少次才能登录成功。小美不会重新尝试已经尝试过的字符串。成功登录后会立即停止尝试。只要理解怎么计算最少尝试次数和最多尝试次数就很容易做出来第二题: 小美有一个长度为 n 的数组 a1,a2,....,an ,他可以对数组进行如下操作:● 删除第一个元素 a1,同时数组的长度减一,花费为 x。● 删除整个数组,花费为 k*MEX(a) (其中 MEX(a) 表示 a 中未出现过的最小非负整数。例如 [0,1,2,4] 的 MEX 为 3 )。小美想知道将 a 数组全部清空的最小代价是多少,请你帮帮他吧。我采用动态规划+维护动态最小未出现的整数。第三题: 小美的彩带是由一条长度为 n 的彩带一直无限循环得到的,彩带的每一个位置都有一个颜色,用 ai 表示。因此当 i>n 时,ai = ai-n 。小美每次会从左往后或从右往左剪一段长度为 x 的彩带,她想知道她每次剪下来的彩带有多少种颜色。笔试没做出来