您的位置:首页 > 编程语言

2017美团点评秋招笔试编程

2017-09-04 21:54 239 查看
1, 大富翁游戏,玩家根据骰子的点数决定走的步数,即骰子点数为1时可以走一步,点数为2时可以走两步,点数为n时可以走n步。求玩家走到第n步(n<=骰子最大点数且是方法的唯一入参)时,总共有多少种投骰子的方法。

题解:

  写出前面的几个, 1 -> 1; 2 -> 2 ; 3 -> 4; 4 -> 8; 5 -> 16; 6 -> 32; 可以得到是 二的 n-1 次幂。

  

2, 给你六种面额 1、5、10、20、50、100 元的纸币,假设每种币值的数量都足够多,编写程序求组成N元(N为0~10000的非负整数)的不同组合的个数。 哇!这是..完全背包?

题解:

  多一个 bill 选项, 则可以从 该bill 值的 0,1,2 ... j/bill , 这么多种集合。dp[i][j] = dp[i][j] + dp[i-1][j - k*bill[i] ];

  

3, 给定一组非负整数组成的数组h,代表一组柱状图的高度,其中每个柱子的宽度都为1。 在这组柱状图中找到能组成的最大矩形的面积(如图所示)。 入参h为一个整型数组,代表每个柱子的高度,返回面积的值。

题解:

  经典的最大矩形问题。使用 left and right array, 分别记录每一个pt可以扩展的最大距离。

  

4, 给出两个字符串(可能包含空格),找出其中最长的公共连续子串,输出其长度。

题解://这就是我今天美图考的题!!!参加的秋招基本都有动态规划,2号的链家三道都是,简直了,一定要学会。不要看这个,看我们在牛客网摘的。

  使用 动态规划。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: