OJ真题
YTea
这个作者很懒,什么都没留下…
展开
-
分金子(360公司2017春招真题)
题目描述小明买了一些彩色的气球用绳子串在一条线上,想要装饰房间,每个气球都染上了一种颜色,每个气球的形状都是各不相同的。我们用1到9一共9个数字表示不同的颜色,如12345则表示一串5个颜色各不相同的气球串。但小明希望得到不出现重复颜色的气球串,那么现在小明需要将这个气球串剪成多个较短的气球串,小明一共有多少种剪法?如原气球串12345的一种是剪法是剪成12和345两个气球串。注意每种剪法...原创 2019-02-27 14:37:35 · 579 阅读 · 0 评论 -
附加题-房间移动(2018字节跳动校招)
题目描述存在n+1个房间,每个房间依次为房间1 2 3...i,每个房间都存在一个传送门,i房间的传送门可以把人传送到房间pi(1<=pi<=i),现在路人甲从房间1开始出发(当前房间1即第一次访问),每次移动他有两种移动策略: A. 如果访问过当前房间 i 偶数次,那么下一次移动到房间i+1; B. 如果访问过当前房间 i 奇数次,那么移动到房间pi;现在路人...原创 2019-03-08 19:51:06 · 1091 阅读 · 0 评论 -
会场安排问题(会场场次 and 活动场次)
会场场次问题:题目描述假设要在足够多的会场里安排一批活动,并希望使用尽可能少的会场。设计一个有效的贪心算法进行安排。(这个问题实际上是著名的图着色问题。若将每一个活动作为图的一个顶点,不相容活动间用边相连。使相邻顶点着有不同颜色的最小着色数,相应于要找的最小会场数。)对于给定的k个待安排的活动,计算使用最少会场的时间表。输入描述输入数据的第一行有1 个正整数k(k≤1000...原创 2019-03-03 20:31:08 · 1654 阅读 · 1 评论 -
编程题1-球队比赛(2018字节跳动校招)
题目描述有三只球队,每只球队编号分别为球队1,球队2,球队3,这三只球队一共需要进行 n 场比赛。现在已经踢完了k场比赛,每场比赛不能打平,踢赢一场比赛得一分,输了不得分不减分。已知球队1和球队2的比分相差d1分,球队2和球队3的比分相差d2分,每场比赛可以任意选择两只队伍进行。求如果打完最后的 (n-k) 场比赛,有没有可能三只球队的分数打平。输入描述第一行包含一个数字 t (...原创 2019-03-09 13:44:38 · 1157 阅读 · 0 评论 -
编程题2-最大连续的相同字符(2018字节跳动校招)
题目描述有一个仅包含’a’和’b’两种字符的字符串s,长度为n,每次操作可以把一个字符做一次转换(把一个’a’设置为’b’,或者把一个’b’置成’a’);但是操作的次数有上限m,问在有限的操作数范围内,能够得到最大连续的相同字符的子串的长度是多少。输入描述第一行两个整数 n , m (1<=m<=n<=50000),第二行为长度为n且只包含’a’和’b’的字符串...原创 2019-03-09 14:30:32 · 1628 阅读 · 0 评论 -
编程题1-推箱子(字节跳动2018校招)
题目描述有一个推箱子的游戏, 一开始的情况如下图:上图中, '.' 表示可到达的位置, '#' 表示不可到达的位置,其中 S 表示你起始的位置, 0表示初始箱子的位置, E表示预期箱子的位置,你可以走到箱子的上下左右任意一侧, 将箱子向另一侧推动。如下图将箱子向右推动一格;..S0.. -> ...S0.注意不能将箱子推动到'#'上, 也不能将箱子推出边界;现在, 给你游...原创 2019-03-09 20:22:47 · 1874 阅读 · 3 评论 -
青草游戏(2018爱奇艺校招)
题目描述牛牛和羊羊都很喜欢青草。今天他们决定玩青草游戏。最初有一个装有n份青草的箱子,牛牛和羊羊依次进行,牛牛先开始。在每个回合中,每个玩家必须吃一些箱子中的青草,所吃的青草份数必须是4的x次幂,比如1,4,16,64等等。不能在箱子中吃到有效份数青草的玩家落败。假定牛牛和羊羊都是按照最佳方法进行游戏,请输出胜利者的名字。输入描述输入包括t+1行。第一行包括一个整数t(1 ≤...原创 2019-03-04 21:18:58 · 4422 阅读 · 0 评论 -
构造回文(2017腾讯暑期实习生)
题目描述给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢?输出需要删除的字符个数。输入描述输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000.输出描述对于每组数据,输出一个整数,代表最少需要删除的字符个数。示例1输入:abcdagoogle输出:22...原创 2019-03-10 14:34:50 · 165 阅读 · 0 评论 -
字符串切割(百度面试)
题目描述字符串切割(raw:adbacaf sep:bac result就是ad和af)算法分析涉及到string类的两个函数find和substr:1、find函数原型:size_t find ( const string& str, size_t pos = 0 ) const;功能:查找子字符串第一次出现的位置。参数说明:str为子字符串...原创 2019-03-11 12:20:43 · 153 阅读 · 0 评论 -
最近公共祖先(百度面试)
题目描述(Easy)找一棵二叉搜索树里面给定两个节点的公共祖先https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-search-tree/submissions/找一棵二叉树里面给定两个节点的公共祖先https://leetcode-cn.com/problems/lowest-common-ances...原创 2019-03-11 13:39:24 · 141 阅读 · 0 评论 -
二维有序数组的二分查找(百度面试)
题目描述(Easy)二维有序数组的二分查找某个数https://leetcode.com/problems/search-a-2d-matrix/算法分析先纵向二分查找,再横向二分查找。提交代码:class Solution {public: bool searchMatrix(vector<vector<int>>& m...原创 2019-03-11 14:36:21 · 546 阅读 · 1 评论 -
合并无序链表(百度面试)
题目描述(Easy)合并两个无序链表成为有序链表https://leetcode.com/problems/insertion-sort-list/submissions/https://leetcode.com/problems/sort-list/submissions/https://leetcode.com/problems/merge-two-sorted-lists/...原创 2019-03-11 16:15:29 · 909 阅读 · 0 评论 -
TopK问题(百度面试)
题目描述(Easy)找到最大的十个数 and 如果文件很大,不能一次读入算法分析1. 快排的partition函数,以第k个数作为key时,大于k的右边的数即为所求;2. 构建小顶堆;Partition实现:class Solution {public: vector<int> GetLeastNumbers_Solution(vector&...原创 2019-03-12 08:53:09 · 431 阅读 · 0 评论 -
二叉树遍历,查找,删除,翻转(百度面试)
题目描述(Easy)1. 二叉树的前序、中序遍历,非递归实现:Morris算法:https://blog.csdn.net/ansizhong9191/article/details/826247972.二叉树的查找:https://leetcode-cn.com/problems/search-in-a-binary-search-tree/3. 二叉树的删除:4. 二叉树的...原创 2019-03-12 09:50:33 · 663 阅读 · 0 评论 -
平方串(2018爱奇艺校招)
题目描述如果一个字符串S是由两个字符串T连接而成,即S = T + T, 我们就称S叫做平方串,例如"","aabaab","xxxx"都是平方串.牛牛现在有一个字符串s,请你帮助牛牛从s中移除尽量少的字符,让剩下的字符串是一个平方串。换句话说,就是找出s的最长子序列并且这个子序列构成一个平方串。输入描述输入一个字符串s,字符串长度length(1 ≤ length ≤ 50)...原创 2019-03-08 18:42:40 · 678 阅读 · 0 评论 -
剪气球串(360公司2017春招真题)
题目描述小明买了一些彩色的气球用绳子串在一条线上,想要装饰房间,每个气球都染上了一种颜色,每个气球的形状都是各不相同的。我们用1到9一共9个数字表示不同的颜色,如12345则表示一串5个颜色各不相同的气球串。但小明希望得到不出现重复颜色的气球串,那么现在小明需要将这个气球串剪成多个较短的气球串,小明一共有多少种剪法?如原气球串12345的一种是剪法是剪成12和345两个气球串。注意每种剪法...原创 2019-02-27 11:13:26 · 360 阅读 · 0 评论 -
偶串(360公司2017春招真题)
题目描述一个字符串S是偶串当且仅当S中的每一个字符都出现了偶数次。如字符串”aabccb”是一个偶串,因为字符a,b,c都出现了两次。而字符串”abbcc”不是偶串,因为字符a出现了一次。现在给出一个长度为n的字符串T=t1,t2,t3,…,tn。字符串的子串为其中任意连续一段。T长度为1的子串有n个,长度为2的子串有n-1个,以此类推,T一共有n(n+1)/2个子串。给定T,你能算出它...原创 2019-02-27 16:56:38 · 406 阅读 · 0 评论 -
数学期望(360公司2017春招真题)
题目描述小明同学最近学习了概率论,他了解到数学期望的定义:设X为一个随机变量,X可以取n种不同的取值x1,x2,x3,…,xn。取x1的概率为p1,取x2的概率为p2,以此类推。定义随机变量X的数学期望为:E[X]=x1*p1+x2*p2+…+xn*pn。小明回到家中,他想编程计算数学期望,你能帮助他么?输入 输入第一行一个数n(1<=n<=100)...原创 2019-02-27 17:58:31 · 635 阅读 · 0 评论 -
跑步(奇虎360 2017春招真题)
题目描述小明同学喜欢体育锻炼,他常常去操场上跑步。跑道是一个圆形,在本题中,我们认为跑道是一个半径为R的圆形,设圆心的坐标为原点(0,0)。小明跑步的起点坐标为(R,0),他沿着圆形跑道跑步,而且一直沿着一个方向跑步。回到家后,他查看了自己的计步器,计步器显示他跑步的总路程为L。小明想知道自己结束跑步时的坐标,但是他忘记自己是沿着顺时针方向还是逆时针方向跑的了。他想知道在这两种情况下...原创 2019-02-27 18:04:02 · 373 阅读 · 0 评论 -
大整数相乘(拼多多2018校招)
题目描述有两个用字符串表示的非常大的大整数,算出他们的乘积,也是用字符串表示。不能用系统自带的大整数类型。输入描述空格分隔的两个字符串,代表输入的两个大整数输出描述输入的乘积,用字符串表示示例1输入:72106547548473106236 982161082972751393输出:70820244829634538040848656466105986...原创 2019-02-28 09:49:58 · 285 阅读 · 0 评论 -
最大乘积(拼多多2018校招)
题目描述给定一个无序数组,包含正数、负数和0,要求从中找出3个数的乘积,使得乘积最大,要求时间复杂度:O(n),空间复杂度:O(1)输入描述无序整数数组A[n]输出描述满足条件的最大乘积示例1输入:3 4 1 2输出:24算法分析记录数组中第一大max1,第二大max2,第三大max3以及最小min1,次小min2的五个数,那么最大乘积为m...原创 2019-02-28 10:25:27 · 198 阅读 · 0 评论 -
六一儿童节(拼多多2018校招)
题目描述六一儿童节,老师带了很多好吃的巧克力到幼儿园。每块巧克力j的重量为w[j],对于每个小朋友i,当他分到的巧克力大小达到h[i] (即w[j]>=h[i]),他才会上去表演节目。老师的目标是将巧克力分发给孩子们,使得最多的小孩上台表演。可以保证每个w[i]> 0且不能将多块巧克力分给一个孩子或将一块分给多个孩子。输入描述第一行:n,表示h数组元素个数第二行:n...原创 2019-02-28 10:50:00 · 192 阅读 · 0 评论 -
打印任意3个元素组合(百度面试)
【转自】https://blog.csdn.net/lvonve/article/details/53320680题目描述现在有a到z,26个元素, 编写程序打印a到z中任取3个元素的组合(比如,打印abc,dyz等)只求组合不管顺序。问题:如果直接三层循环嵌套,面试官必然会问 ,如果我要求 4 个字母的组合呢?算法分析设想 a - z 每个字母给一个标记 0 或 ...原创 2019-03-05 09:43:47 · 1103 阅读 · 0 评论 -
小易喜欢的数列(网易2018校招)
题目描述小易非常喜欢拥有以下性质的数列:1、数列的长度为n2、数列中的每个数都在1到k之间(包括1和k)3、对于位置相邻的两个数A和B(A在B前),都满足(A <= B)或(A mod B != 0)(满足其一即可)例如,当n = 4, k = 7那么{1,7,7,2},它的长度是4,所有数字也在1到7范围内,并且满足第三条性质,所以小易是喜欢这个数列的但是小易不喜欢{4,...原创 2019-03-02 19:40:55 · 522 阅读 · 0 评论 -
迷宫寻路(拼多多2018校招)
题目描述假设一个探险家被困在了地底的迷宫之中,要从当前位置开始找到一条通往迷宫出口的路径。迷宫可以用一个二维矩阵组成,有的部分是墙,有的部分是路。迷宫之中有的路上还有门,每扇门都在迷宫的某个地方有与之匹配的钥匙,只有先拿到钥匙才能打开门。请设计一个算法,帮助探险家找到脱困的最短路径。如前所述,迷宫是通过一个二维矩阵表示的,每个元素的值的含义如下 0-墙,1-路,2-探险家的起始位置,3-迷宫...原创 2019-03-02 22:51:11 · 215 阅读 · 0 评论 -
堆棋子(网易2018校招)
题目描述小易将n个棋子摆放在一张无限大的棋盘上。第i个棋子放在第x[i]行y[i]列。同一个格子允许放置多个棋子。每一次操作小易可以把一个棋子拿起并将其移动到原格子的上、下、左、右的任意一个格子中。小易想知道要让棋盘上出现有一个格子中至少有i(1 ≤ i ≤ n)个棋子所需要的最少操作次数.输入描述输入包括三行,第一行一个整数n(1 ≤ n ≤ 50),表示棋子的个数第二行为n...原创 2019-03-03 10:27:24 · 424 阅读 · 0 评论 -
图的m着色问题
题目描述给定无向连通图G=(V, E)和m种不同的颜色,用这些颜色为图G的各顶点着色,每个顶点着一种颜色。是否有一种着色法使G中相邻的两个顶点有不同的颜色?这个问题是图的m可着色判定问题。若一个图最少需要m种颜色才能使图中每条边连接的两个顶点着不同颜色,则称这个数m为该图的色数。求一个图的色数m的问题称为图的m可着色优化问题。编程计算:给定图G=(V, E)和m种不同的颜色,找出所有不同...原创 2019-03-03 14:39:16 · 669 阅读 · 0 评论 -
冒泡排序(2018爱奇艺校招)
题目描述牛牛学习了冒泡排序,并写下以下冒泡排序的伪代码,注意牛牛排序的数组a是从下标0开始的。BubbleSort(a): Repeat length(a)-1 times: For every i from 0 to length(a) - 2: If a[i] > a[i+1] then: Sw...原创 2019-03-08 15:22:36 · 473 阅读 · 0 评论 -
判断两个矩阵是否重叠
题目描述给定两个矩阵:前提:两个矩阵的边均与x轴和y轴平行,即轴对齐的矩形将第一个矩形记作A,第二个矩形记作B,判断矩形A与矩形B是否重叠(边沿重叠也认为是重叠),如果重叠则返回重叠面积。。算法分析反向思考,我们不妨先解决出“不重叠”的情况,即B矩阵,可能在A的左侧、右侧、上侧、下侧。提交代码:#include<iostream>#include...原创 2019-03-03 16:03:53 · 2092 阅读 · 1 评论 -
编程题2-房间的人数(字节跳动2018校招)
题目描述有n个房间,现在i号房间里的人需要被重新分配,分配的规则是这样的:先让i号房间里的人全都出来,接下来按照 i+1, i+2, i+3, ... 的顺序依此往这些房间里放一个人,n号房间的的下一个房间是1号房间,直到所有的人都被重新分配。现在告诉你分配完后每个房间的人数以及最后一个人被分配的房间号x,你需要求出分配前每个房间的人数。数据保证一定有解,若有多解输出任意一个解。输...原创 2019-03-12 18:39:31 · 1669 阅读 · 0 评论