
2017校招编程题
chmy1992
这个作者很懒,什么都没留下…
展开
-
藏宝图
题目描述牛牛拿到了一个藏宝图,顺着藏宝图的指示,牛牛发现了一个藏宝盒,藏宝盒上有一个机关,机关每次会显示两个字符串 s 和 t,根据古老的传说,牛牛需要每次都回答 t 是否是 s 的子序列。注意,子序列不要求在原字符串中是连续的,例如串 abc,它的子序列就有 {空串, a, b, c, ab, ac, bc, abc} 8 种。输入描述:每个输入包含一个测试用例。每个测试用例包含两行原创 2017-08-08 10:06:34 · 235 阅读 · 0 评论 -
重排整数
时间限制:1秒空间限制:100768K小易有一个长度为N的正整数数列A = {A[1], A[2], A[3]..., A[N]}。牛博士给小易出了一个难题:对数列A进行重新排列,使数列A满足所有的A[i] * A[i + 1](1 ≤ i ≤ N - 1)都是4的倍数。小易现在需要判断一个数列是否可以重排之后满足牛博士的要求。 输入描述:输入的第一行为数列的个数t(1原创 2017-09-09 22:25:54 · 1300 阅读 · 0 评论 -
地下迷宫
题目描述小青蛙有一天不小心落入了一个地下迷宫,小青蛙希望用自己仅剩的体力值P跳出这个地下迷宫。为了让问题简单,假设这是一个n*m的格子迷宫,迷宫每个位置为0或者1,0代表这个位置有障碍物,小青蛙达到不了这个位置;1代表小青蛙可以达到的位置。小青蛙初始在(0,0)位置,地下迷宫的出口在(0,m-1)(保证这两个位置都是1,并且保证一定有起点到终点可达的路径),小青蛙在迷宫中水平移动一个单位距离需原创 2017-08-18 20:27:52 · 609 阅读 · 0 评论 -
已知先序遍历和中序遍历
首先前序遍历的第一个节点就是根节点,然后根据根节点把中序遍历分成两部分,左边部分是左子树的中序遍历,右边是右子树的中序遍历,然后根据左子树的中序遍历在谦虚遍历序列中找到左子树的前序遍历,右子树的前序遍历,然后重复上述过程,建立二叉树。#include#include#includeusing namespace std;struct Node{ char ch; No原创 2017-09-07 11:05:44 · 1306 阅读 · 0 评论 -
中序表达式转后缀表达式
中缀表达式X=A+B*(C-(D+F))/E转后缀表达式之后是什么?ABCDF+-*E/+ABDF+C-*E/+ABDF+C*-E/+ABDF+C*-E+/中缀表达式转后缀表达式的方法: 1.遇到操作数:直接输出(添加到后缀表达式中) 2.栈为空时,遇到运算符,直接入栈 3.遇到左括号:将其入栈 4.遇到右括号:执行出栈操作,并将出栈的元素输出,直到弹出栈的是左原创 2017-08-26 23:03:50 · 466 阅读 · 0 评论 -
只用2GB内在20亿个整数里中找到出现次数最多的数
题目有一个包含20亿个全是32位整数的大文件,在其中找到出现次数最多的数,内存限制为2GB。解答:想要在很多整数中找到初夏次数最多的数,通常的做法是用哈希表对出现的每一个数据做词频统计,哈希表的key是某一个整数,value是这个词出现的次数。就本题来说,一共20亿个整数,用32位int型是完全足以表示的,32位int最大数据为2147483647,所以并不会溢出。因为一个哈希表需要的原创 2017-09-05 10:13:37 · 3491 阅读 · 0 评论 -
疯狂对列
疯狂队列时间限制:1秒空间限制:32768K小易老师是非常严厉的,它会要求所有学生在进入教室前都排成一列,并且他要求学生按照身高不递减的顺序排列。有一次,n个学生在列队的时候,小易老师正好去卫生间了。学生们终于有机会反击了,于是学生们决定来一次疯狂的队列,他们定义一个队列的疯狂值为每对相邻排列学生身高差的绝对值总和。由于按照身高顺序排列的队列的疯狂值是最小的,他们当然决定按照疯狂值最大原创 2017-08-12 20:18:42 · 577 阅读 · 0 评论 -
LeetCode练习中等卷
sum-root-to-leaf-numbersgiven a binary tree containing digits from0-9only, each root-to-leaf path could represent a number.An example is the root-to-leaf path1->2->3which represents the number12原创 2017-08-12 16:57:17 · 306 阅读 · 0 评论 -
网易校招
题目描述小易是一个数论爱好者,并且对于一个数的奇数约数十分感兴趣。一天小易遇到这样一个问题: 定义函数f(x)为x最大的奇数约数,x为正整数。 例如:f(44) = 11.现在给出一个N,需要求出 f(1) + f(2) + f(3).......f(N)例如: N = 7 f(1) + f(2) + f(3) + f(4) + f(5) + f(6) + f(7) = 1 + 1原创 2017-08-10 13:54:22 · 525 阅读 · 0 评论 -
腾讯2017暑期实习生编程题
构造回文串给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢?输出需要删除的字符个数。输入描述:输入数据有多组,每组包含一个字符串s,且保证:1输出描述:对于每组数据,输出一个整数,代表最少需要删除的字符个数。示例1输入abcdagoogle输出22#include#incl原创 2017-08-09 22:04:29 · 244 阅读 · 0 评论 -
末尾0的个数
题目描述输入一个正整数n,求n!(即阶乘)末尾有多少个0? 比如: n = 10; n! = 3628800,所以答案为2输入描述:输入为一行,n(1 ≤ n ≤ 1000)输出描述:输出一个整数,即题目所求示例1输入10输出2思路:因为只有2和5相乘才会有0的出现。#include#include#includeusing names原创 2017-08-08 16:18:30 · 288 阅读 · 0 评论 -
解救小易
题目描述有一片1000*1000的草地,小易初始站在(1,1)(最左上角的位置)。小易在每一秒会横向或者纵向移动到相邻的草地上吃草(小易不会走出边界)。大反派超超想去捕捉可爱的小易,他手里有n个陷阱。第i个陷阱被安置在横坐标为xi ,纵坐标为yi 的位置上,小易一旦走入一个陷阱,将会被超超捕捉。你为了去解救小易,需要知道小易最少多少秒可能会走入一个陷阱,从而提前解救小易。输入描述:第一原创 2017-08-08 13:23:30 · 384 阅读 · 0 评论 -
数串
题目描述设有n个正整数,将他们连接成一排,组成一个最大的多位整数。如:n=3时,3个整数13,312,343,连成的最大整数为34331213。如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613。输入描述:有多组测试样例,每组测试样例包含两行,第一行为一个整数N(N输出描述:每组数据输出一个表示最大的整数。示例1输入212 1原创 2017-08-08 11:06:39 · 378 阅读 · 0 评论 -
爱奇艺校招
奇异数定义一个奇异数:1. 该数至少是两位的2. 该数的末尾两位是相同的问从L到R之间有多少个奇异数,包括L和R。这个题目楼主开始用暴力求解只过了百分之六十,后来想出来低复杂度的时间快到了。这个题目其实和从1到n中1出现的次数很相似,只是这道题目问从1到n中末尾00,11,22,33…99出现的次数而已。因此可以计算从0到L之间奇异数出现的次数减去0到R之间奇异数出现的次数。比原创 2017-09-10 22:10:37 · 838 阅读 · 0 评论