
2016校招
云水谣CS
这个作者很懒,什么都没留下…
展开
-
【华为】删数
题目描述有一个数组a[N]顺序存放0~N-1,要求每隔两个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉的数的原始下标位置。以8个数(N=7)为例:{0,1,2,3,4,5,6,7},0->1->2(删除)->3->4->5(删除)->6->7->0(删除),如此循环直到最后一个数被删除。输入描述:每组数据为一行一个整数n(...原创 2018-10-11 12:40:18 · 492 阅读 · 0 评论 -
【美团】奇数位丢弃
题目描述对于一个由0..n的所有数按升序组成的序列,我们要进行一些筛选,每次我们取当前所有数字中从小到大的第奇数位个的数,并将其丢弃。重复这一过程直到最后剩下一个数。请求出最后剩下的数字。输入描述:每组数据一行一个数字,为题目中的n(n小于等于1000)。输出描述:一行输出最后剩下的数字。示例1输入复制500输出复制255#includ...原创 2018-10-08 22:33:17 · 494 阅读 · 0 评论 -
【美团】字符编码
题目描述请设计一个算法,给一个字符串进行二进制编码,使得编码后字符串的长度最短。输入描述:每组数据一行,为待编码的字符串。保证字符串长度小于等于1000。输出描述:一行输出最短的编码后长度。示例1输入复制MT-TECH-TEAM输出复制33#include "stdio.h"#include <iostream>#inc...原创 2018-10-08 23:06:01 · 678 阅读 · 0 评论 -
【美团】二维数组打印
题目描述有一个二维数组(n*n),写程序实现从右上角到左下角沿主对角线方向打印。给定一个二位数组arr及题目中的参数n,请返回结果数组。测试样例:[[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]],4返回:[4,3,8,2,7,12,1,6,11,16,5,10,15,9,14,13]class Printer {pub...原创 2018-10-08 23:13:29 · 317 阅读 · 0 评论 -
【腾讯】微信红包
题目描述春节期间小明使用微信收到很多个红包,非常开心。在查看领取红包记录时发现,某个红包金额出现的次数超过了红包总数的一半。请帮小明找到该红包金额。写出具体算法思路和代码实现,要求算法尽可能高效。给定一个红包的金额数组gifts及它的大小n,请返回所求红包的金额。若没有金额超过总数的一半,返回0。测试样例:[1,2,3,2,2],5返回:2 class Gif...原创 2018-10-15 22:27:36 · 262 阅读 · 0 评论 -
【京东】年终奖
题目描述小东所在公司要发年终奖,而小东恰好获得了最高福利,他要在公司年会上参与一个抽奖游戏,游戏在一个6*6的棋盘上进行,上面放着36个价值不等的礼物,每个小的棋盘上面放置着一个礼物,他需要从左上角开始游戏,每次只能向下或者向右移动一步,到达右下角停止,一路上的格子里的礼物小东都能拿到,请设计一个算法使小东拿到价值最高的礼物。给定一个6*6的矩阵board,其中每个元素为对应格子的礼物价值...原创 2018-10-09 19:55:39 · 432 阅读 · 0 评论 -
【CVTE】兔子藏洞
题目描述一只兔子藏身于20个圆形排列的洞中(洞从1开始编号),一只狼从x号洞开始找,下次隔一个洞找(即在x+2号洞找),在下次个两个洞找(即在x+5号洞找),它找了n次仍然没有找到。问兔子可能在那些洞中。输入描述:输入有多组数据,每组数据一行两个整数分别为x和n(x <= 20,n <= 100000)输出描述:每组数据一行按从小到大的顺序输出兔子可能在的洞,数...原创 2018-10-09 20:44:09 · 316 阅读 · 0 评论 -
【去哪儿】文本嗅探
题目描述现在有一个字符串列表,和一个关键词列表,请设计一个高效算法,检测出含关键字列表中关键字(一个或多个)的字符串。给定字符串数组A及它的大小n以及关键词数组key及它的大小m,请返回一个排好序的含关键词的字符串序号的列表。保证所有字符串长度小于等于100,关键词个数小于等于100,字符串个数小于等于200。保证所有字符串全部由小写英文字符组成。若不存在含关键字的字符串,请返回一个只含-...原创 2018-10-09 22:27:40 · 129 阅读 · 0 评论 -
【网易】小易的升级之路
题目描述小易经常沉迷于网络游戏.有一次,他在玩一个打怪升级的游戏,他的角色的初始能力值为 a.在接下来的一段时间内,他将会依次遇见n个怪物,每个怪物的防御力为b1,b2,b3...bn. 如果遇到的怪物防御力bi小于等于小易的当前能力值c,那么他就能轻松打败怪物,并 且使得自己的能力值增加bi;如果bi大于c,那他也能打败怪物,但他的能力值只能增加bi 与c的最大公约数.那么问题来了,在一系列...原创 2018-10-16 20:43:31 · 513 阅读 · 0 评论 -
【去哪儿】字符串替换
题目描述请你实现一个简单的字符串替换函数。原串中需要替换的占位符为"%s",请按照参数列表的顺序一一替换占位符。若参数列表的字符数大于占位符个数。则将剩下的参数字符添加到字符串的结尾。给定一个字符串A,同时给定它的长度n及参数字符数组arg,请返回替换后的字符串。保证参数个数大于等于占位符个数。保证原串由大小写英文字母组成,同时长度小于等于500。测试样例:"A%sC%sE...原创 2018-10-10 19:11:59 · 330 阅读 · 0 评论 -
【去哪儿】血型遗传检测
题目描述血型遗传对照表如下:父母血型 子女会出现的血型 子女不会出现的血型 O与O O A,B,AB A与O A,O B,AB A与A A,O B,AB A与B A,B,AB,O —— A与AB A,B,AB O B与O B,O A,AB B与B B,O A,AB ...原创 2018-10-10 23:02:20 · 541 阅读 · 0 评论 -
【上高楼***】
题目描述现在有一栋高楼,但是电梯却出了故障,无奈的你只能走楼梯上楼,根据你的腿长,你一次能走1级或2级楼梯,已知你要走n级楼梯才能走到你的目的楼层,请计算你走到目的楼层的方案数,由于楼很高,所以n的范围为int范围内的正整数。给定楼梯总数n,请返回方案数。为了防止溢出,请返回结果Mod 1000000007的值。测试样例:3返回:3使用快速幂运算的算法原理实现斐波那契数...原创 2018-10-21 21:06:53 · 288 阅读 · 0 评论 -
顺时针打印矩阵
题目描述对于一个矩阵,请设计一个算法从左上角(mat[0][0])开始,顺时针打印矩阵元素。给定int矩阵mat,以及它的维数nxm,请返回一个数组,数组中的元素为矩阵元素的顺时针输出。测试样例:[[1,2],[3,4]],2,2返回:[1,2,4,3]class Printer {public: vector<int> clockwiseP...原创 2018-10-26 22:30:03 · 309 阅读 · 0 评论 -
【360】挑选镇长
题目描述360员工桂最近申请了一个长假,一个人背着包出去自助游了。 路上,他经过了一个小镇,发现小镇的人们都围在一棵树下争吵。桂上前询问情况,得知小镇的人们正缺一个镇长,他们希望能选一个知名又公正的镇长,即,大家希望能选出一个人,所有人都认识他,但同时他不认识镇上除自己以外的其他人(在此,我们默认每个人自己认识自己)。可是小镇里的人太多了,一下子大家谁也说服不了谁。 “这简单啊。”桂表...原创 2018-11-01 12:47:20 · 183 阅读 · 0 评论 -
最短排序
题目描述对于一个无序数组A,请设计一个算法,求出需要排序的最短子数组的长度。给定一个整数数组A及它的大小n,请返回最短子数组的长度。测试样例:[1,5,3,4,2,6,7],7返回:4class ShortSubsequence {public: int findShortest(vector<int> A, int n) { /...原创 2018-11-01 12:57:34 · 239 阅读 · 0 评论 -
[数串*]
题目描述设有n个正整数,将他们连接成一排,组成一个最大的多位整数。如:n=3时,3个整数13,312,343,连成的最大整数为34331213。如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613。输入描述:有多组测试样例,每组测试样例包含两行,第一行为一个整数N(N<=100),第二行包含N个数(每个数不超过1000,空格分开)。输出描述:...原创 2018-11-26 19:46:23 · 174 阅读 · 0 评论 -
***【小米/美团】股票交易日
题目描述在股市的交易日中,假设最多可进行两次买卖(即买和卖的次数均小于等于2),规则是必须一笔成交后进行另一笔(即买-卖-买-卖的顺序进行)。给出一天中的股票变化序列,请写一个程序计算一天可以获得的最大收益。请采用实践复杂度低的方法实现。给定价格序列prices及它的长度n,请返回最大收益。保证长度小于等于500。测试样例:[10,22,5,75,65,80],6返回:87...原创 2018-10-08 21:45:05 · 200 阅读 · 0 评论 -
【京东】小球的距离
题目描述小东和三个朋友一起在楼上抛小球,他们站在楼房的不同层,假设小东站的楼层距离地面N米,球从他手里自由落下,每次落地后反跳回上次下落高度的一半,并以此类推直到全部落到地面不跳,求4个小球一共经过了多少米?(数字都为整数)给定四个整数A,B,C,D,请返回所求结果。测试样例:100,90,80,70返回:1020 int calcDistance(int A,...原创 2018-10-08 21:27:17 · 178 阅读 · 0 评论 -
【蘑菇街】回文串
题目描述给定一个字符串,问是否能通过添加一个字母将其变为回文串。输入描述:一行一个由小写字母构成的字符串,字符串长度小于等于10。输出描述:输出答案(YES\NO).示例1输入复制coco输出复制YES#include "stdio.h"#include <math.h>#include <iostream>...原创 2018-10-11 18:13:48 · 123 阅读 · 0 评论 -
【华为】字符集合
题目描述输入一个字符串,求出该字符串包含的字符集合输入描述:每组数据输入一个字符串,字符串最大长度为100,且只包含字母,不可能为空串,区分大小写。输出描述:每组数据一行,按字符串原有的字符顺序,输出字符集合,即重复出现并靠后的字母不输出。示例1输入复制abcqweracb输出复制abcqwer#include "stdio.h"#i...原创 2018-10-11 18:21:19 · 557 阅读 · 0 评论 -
【去哪儿】表达式合法判断
题目描述写一段代码,判断一个包括'{','[','(',')',']','}'的表达式是否合法(注意看样例的合法规则。)给定一个表达式A,请返回一个bool值,代表它是否合法。测试样例:"[a+b*(5-4)]*{x+b+b*(({1+2}))}"返回:true#include <unordered_map>class ChkExpression {p...原创 2018-10-11 20:02:44 · 641 阅读 · 0 评论 -
【蘑菇街】搬圆桌
题目描述现在有一张半径为r的圆桌,其中心位于(x,y),现在他想把圆桌的中心移到(x1,y1)。每次移动一步,都必须在圆桌边缘固定一个点然后将圆桌绕这个点旋转。问最少需要移动几步。输入描述:一行五个整数r,x,y,x1,y1(1≤r≤100000,-100000≤x,y,x1,y1≤100000)输出描述:输出一个整数,表示答案示例1输入复制2 0 0 0...原创 2018-10-11 20:30:42 · 161 阅读 · 0 评论 -
【蘑菇街】最大间隔
题目描述给定一个递增序列,a1 <a2 <...<an 。定义这个序列的最大间隔为d=max{ai+1 - ai}(1≤i<n),现在要从a2 ,a3 ..an-1 中删除一个元素。问剩余序列的最大间隔最小是多少?输入描述:第一行,一个正整数n(1<=n<=100),序列长度;接下来n个小于1000的正整数,表示一个递增序列。输出描述:输...原创 2018-10-11 20:58:34 · 178 阅读 · 0 评论 -
【蘑菇街】投篮游戏
题目描述有一个投篮游戏。球场有p个篮筐,编号为0,1...,p-1。每个篮筐下有个袋子,每个袋子最多装一个篮球。有n个篮球,每个球编号xi 。规则是将数字为xi 的篮球投到xi 除p的余数为编号的袋里。若袋里已有篮球则球弹出游戏结束输出i,否则重复至所有球都投完。输出-1。问游戏最终的输出是什么?输入描述:第一行两个整数p,n(2≤p,n≤300)。p为篮筐数,n为篮球数。接着n行为...原创 2018-10-12 13:11:07 · 408 阅读 · 0 评论 -
【楚楚街】解密
题目描述亮亮深吸一口气,小心地将盒子打开,里面是一张地图,地图上除了一些奇怪的字母以外没有任何路线信息,这可让亮亮犯了愁,这些字母代表了什么意思呢? 亮亮绞尽脑汁也想不出什么思路,突然,亮亮眼前一亮,“我可以把这些字母所有的排列方式全部写出来,一定可以找到答案!” 于是,亮亮兴奋的开始寻找字母里的秘密。输入描述:每组数据输入只有一行,是一个由不同的大写字母组成的字符串,已知字符串的长...原创 2018-10-12 13:31:26 · 210 阅读 · 0 评论 -
【小米】懂二进制
题目描述世界上有10种人,一种懂二进制,一种不懂。那么你知道两个int32整数m和n的二进制表达,有多少个位(bit)不同么?示例1输入复制1999 2299输出复制7class Solution {public: /** * 获得两个整形二进制表达位数不同的数量 * * @param m 整数m * @...原创 2018-10-07 13:58:53 · 133 阅读 · 0 评论 -
【去哪儿】首个重复字符
题目描述对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。给定一个字符串(不一定全为字母)A及它的长度n。请返回第一个重复出现的字符。保证字符串中有重复字符,字符串的长度小于等于500。测试样例:"qywyer23tdd",11返回:y#include <unordered_map>class FirstRepeat {public: ...原创 2018-10-07 16:23:32 · 165 阅读 · 0 评论 -
【去哪儿】二分查找
题目描述对于一个有序数组,我们通常采用二分查找的方式来定位某一元素,请编写二分查找的算法,在数组中查找指定元素。给定一个整数数组A及它的大小n,同时给定要查找的元素val,请返回它在数组中的位置(从0开始),若不存在该元素,返回-1。若该元素出现多次,请返回第一次出现的位置。测试样例:[1,3,5,7,9],5,3返回:1class BinarySearch {pu...原创 2018-10-07 16:45:36 · 135 阅读 · 0 评论 -
【去哪儿】寻找Coder
题目描述请设计一个高效算法,再给定的字符串数组中,找到包含"Coder"的字符串(不区分大小写),并将其作为一个新的数组返回。结果字符串的顺序按照"Coder"出现的次数递减排列,若两个串中"Coder"出现的次数相同,则保持他们在原数组中的位置关系。给定一个字符串数组A和它的大小n,请返回结果数组。保证原数组大小小于等于300,其中每个串的长度小于等于200。同时保证一定存在包含code...原创 2018-10-07 18:51:33 · 140 阅读 · 0 评论 -
【美团】最大差值
题目描述有一个长为n的数组A,求满足0≤a≤b<n的A[b]-A[a]的最大值。给定数组A及它的大小n,请返回最大差值。测试样例:[10,5],2返回:0class LongestDistance {public: int getDis(vector<int> A, int n) { // write code here ...原创 2018-10-07 18:55:28 · 203 阅读 · 0 评论 -
【美团】棋子翻转
题目描述在4x4的棋盘上摆满了黑白棋子,黑白两色的位置和数目随机其中左上角坐标为(1,1),右下角坐标为(4,4),现在依次有一些翻转操作,要对一些给定支点坐标为中心的上下左右四个棋子的颜色进行翻转,请计算出翻转后的棋盘颜色。给定两个数组A和f,分别为初始棋盘和翻转位置。其中翻转位置共有3个。请返回翻转后的棋盘。测试样例:[[0,0,1,1],[1,0,1,0],[0,1,1,0...原创 2018-10-07 19:10:23 · 520 阅读 · 0 评论 -
【百度】裁剪网格纸
题目描述度度熊有一张网格纸,但是纸上有一些点过的点,每个点都在网格点上,若把网格看成一个坐标轴平行于网格线的坐标系的话,每个点可以用一对整数x,y来表示。度度熊必须沿着网格线画一个正方形,使所有点在正方形的内部或者边界。然后把这个正方形剪下来。问剪掉正方形的最小面积是多少。输入描述:第一行一个数n(2≤n≤1000)表示点数,接下来每行一对整数xi,yi(-1e9<=xi,yi...原创 2018-10-07 21:12:36 · 344 阅读 · 0 评论 -
【京东】上台阶
题目描述有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或者二级,要走上m级,共有多少走法?注:规定从一级到一级有0种走法。给定一个正整数int n,请返回一个数,代表上楼的方式数。保证n小于等于100。为了防止溢出,请返回结果Mod 1000000007的值。测试样例:3返回:2class GoUpstairs {public: int countW...原创 2018-10-08 21:17:35 · 147 阅读 · 0 评论 -
末尾0的个数
题目描述输入一个正整数n,求n!(即阶乘)末尾有多少个0? 比如: n = 10; n! = 3628800,所以答案为2输入描述:输入为一行,n(1 ≤ n ≤ 1000)输出描述:输出一个整数,即题目所求示例1输入复制10输出复制2解析:能被5(5^1)整除的提供1个0能被25(5^2)整除的提供2个0能被125(5^3)...原创 2018-12-02 20:06:03 · 406 阅读 · 1 评论