美团2016研发工程师编程题(二)

时长:90分钟 总分:100分

94浏览 0人已完成答题

题型介绍
题型 填空题
数量 4
1.
字符编码
问题详情

请设计一个算法,给一个字符串进行二进制编码,使得编码后字符串的长度最短。

数据范围:字符串长度满足 ,本题有多组输入
输入描述: 每组数据一行,为待编码的字符串。保证字符串长度小于等于1000。输入样例: MT-TECH-TEAM 输出描述: 一行输出最短的编码后长度。输出样例 33
2.
奇数位丢弃
问题详情

对于一个由 0..n 的所有数按升序组成的序列,我们要进行一些筛选,每次我们丢弃去当前所有数字中第奇数位个的数。重复这一过程直到最后剩下一个数。请求出最后剩下的数字。

数据范围:  ,本题有多组输入
输入描述: 每组数据一行一个数字,为题目中的n(n小于等于1000)。输入样例: 500 输出描述: 一行输出最后剩下的数字。输出样例 255
3.
二维数组打印
问题详情

有一个二维数组 (n*n) ,写程序实现从右上角到左下角沿主对角线方向打印。(注:主对角线方向为从左上角指向右下角这一斜线的方向)

给定一个二位数组 arr 及题目中的参数 n ,请返回结果数组。

数据范围:

4.
股票交易日
问题详情

在股市的交易日中,假设最多可进行两次买卖(即买和卖的次数均小于等于 2 ),规则是必须一笔成交后进行另一笔(即买-卖-买-卖的顺序进行)。给出一天中的股票变化序列,请写一个程序计算一天可以获得的最大收益。请采用时间复杂度低的方法实现。

给定价格序列 prices 及它的长度 n ,请返回最大收益。

数据范围: