
牛客网 java练习
be_gin_ner
这个作者很懒,什么都没留下…
展开
-
分苹果--牛客网
n只奶牛坐在一排,每个奶牛拥有 ai 个苹果,现在你要在它们之间转移苹果,使得最后所有奶牛拥有的苹果数都相同,每一次,你只能从一只奶牛身上拿走恰好两个苹果到另一个奶牛上,问最少需要移动多少次可以平分苹果,如果方案不存在输出 -1。输入描述:每个输入包含一个测试用例。每个测试用例的第一行包含一个整数 n(1 <= n <= 100),接下来的一行包含 n 个整数 ai(1 ...原创 2019-03-29 23:05:29 · 410 阅读 · 0 评论 -
组成最小的数
给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)。例如:给定两个0,两个1,三个5,一个8,我们得到的最小的数就是10015558。现给定数字,请编写程序输出能够组成的最小的数。输入描述:每个输入包含1个测试用例。每个测试用例在一行中给出10个非负整数,顺序表示我们拥有数字0、数字1、……数字9的个数。整数间用一...原创 2019-06-04 23:12:59 · 1523 阅读 · 0 评论 -
发奖金--牛客
狐进行了一次黑客马拉松大赛,全公司一共分为了N个组,每组一个房间排成一排开始比赛,比赛结束后没有公布成绩,但是每个组能够看到自己相邻的两个组里比自己成绩低的组的成绩,比赛结束之后要发奖金,以1w为单位,每个组都至少会发1w的奖金,另外,如果一个组发现自己的奖金没有高于比自己成绩低的组发的奖金,就会不满意,作为比赛的组织方,根据成绩计算出至少需要发多少奖金才能让所有的组满意。输入描述:...原创 2019-06-11 23:46:57 · 548 阅读 · 0 评论 -
最高分是多少--牛客
老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。当然,老师有时候需要更新某位同学的成绩.输入描述:输入包括多组测试数据。每组输入第一行是两个正整数N和M(0 < N <= 30000,0 < M < 5000),分别代表学生的数目和操作的数目。学生ID编号从1编到N。第二行包含N个整数,代表这N个学生的初始成绩,其中第i个数代表ID为i...原创 2019-06-17 22:56:55 · 396 阅读 · 0 评论 -
兔子藏洞--牛客
题目描述一只兔子藏身于20个圆形排列的洞中(洞从1开始编号),一只狼从x号洞开始找,下次隔一个洞找(即在x+2号洞找),在下次个两个洞找(即在x+5号洞找),它找了n次仍然没有找到。问兔子可能在那些洞中。输入描述:输入有多组数据,每组数据一行两个整数分别为x和n(x <= 20,n <= 100000)输出描述:每组数据一行按从小到大的顺序输出兔子可能在的洞,数字之间用空格...原创 2019-06-25 22:55:43 · 200 阅读 · 0 评论 -
人民币转换--牛客
1、中文大写金额数字前应标明“人民币”字样。中文大写金额数字应用壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟、万、亿、元、角、分、零、整等字样填写。(30分)2、中文大写金额数字到“元”为止的,在“元”之后,应写“整字,如¥ 532.00应写成“人民币伍佰叁拾贰元整”。在”角“和”分“后面不写”整字。(30分)3、阿拉伯数字中间有“0”时,中文大写要写“零”字,阿拉伯数字中间连续有几个“...原创 2019-07-01 23:02:28 · 717 阅读 · 0 评论 -
罪犯转移--牛客
C市现在要转移一批罪犯到D市,C市有n名罪犯,按照入狱时间有顺序,另外每个罪犯有一个罪行值,值越大罪越重。现在为了方便管理,市长决定转移入狱时间连续的c名犯人,同时要求转移犯人的罪行值之和不超过t,问有多少种选择的方式(一组测试用例可能包含多组数据,请注意处理)?输入描述:第一行数据三个整数:n,t,c(1≤n≤2e5,0≤t≤1e9,1≤c≤n),第二行按入狱时间给出每个犯人的罪行值a...原创 2019-06-26 23:30:01 · 225 阅读 · 0 评论 -
简单错误记录(简单易懂)--牛客
开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。处理:1.记录最多8条错误记录,对相同的错误记录(即文件名称和行号完全匹配)只记录一条,错误计数增加;(文件所在的目录不同,文件名和行号相同也要合并)2.超过16个字符的文件名称,只记录文件的最后有效16个字符;(如果文件名不同,而只是文件名的后16个字符和行号相同,也不要合并)3.输入的文件可能带路径,记录文件名...原创 2019-07-08 22:33:35 · 422 阅读 · 0 评论 -
最大间隔--牛客
题目描述给定一个递增序列,a1 <a2 <...<an 。定义这个序列的最大间隔为d=max{ai+1 - ai }(1≤i<n),现在要从a2 ,a3 ..an-1 中删除一个元素。问剩余序列的最大间隔最小是多少?输入描述:第一行,一个正整数n(1<=n<=100),序列长度;接下来n个小于1000的正整数,表示一个递增序列。输出描述:输出答案。...原创 2019-06-27 22:52:45 · 275 阅读 · 0 评论 -
小明的字符串--牛客
小明同学需要对一个长度为 N 的字符串进行处理,他需要按照要求执行若干步骤,每个步骤都均为下面 2 种操作中的一种,2 种操作如下:TYPE 1. 从字符串结尾开始算起,将第 X 个字符之前的字符移动到字符串末尾TYPE 2. 输出字符串索引为 X 的字符小明尝试了很久没能完成,你可以帮他解决这个问题吗?输入描述:第一行,包含两个整数,字符串的长度 N 和操作次数T;第二行为要操作...原创 2019-07-03 23:21:20 · 570 阅读 · 0 评论 -
优雅的点--牛客
题目描述小易有一个圆心在坐标原点的圆,小易知道圆的半径的平方。小易认为在圆上的点而且横纵坐标都是整数的点是优雅的,小易现在想寻找一个算法计算出优雅的点的个数,请你来帮帮他。例如:半径的平方如果为25优雅的点就有:(+/-3, +/-4), (+/-4, +/-3), (0, +/-5) (+/-5, 0),一共12个点。输入描述:输入为一个整数,即为圆半径的平方,范围在32位int范围...原创 2019-06-28 23:16:19 · 152 阅读 · 0 评论 -
密码验证合格程序--牛客
密码要求:1.长度超过8位2.包括大小写字母.数字.其它符号,以上四种至少三种3.不能有相同长度超2的子串重复说明:长度超过2的子串输入描述:一组或多组长度超过2的子符串。每组占一行输出描述:如果符合要求输出:OK,否则输出NG示例1输入021Abc9000021Abc9Abc1021ABC9000021$bc9000输出OKNGNGOK解题思路:先判...原创 2019-07-04 22:57:48 · 561 阅读 · 0 评论 -
括号配对问题--牛客
输入描述:给定一个字符串S,请检查该字符串的括号是否配对,只含有"[", "]", "(", ")"输出描述:配对,返回true不配对,返回false示例1输入abcd(])[efg输出false解题思路:用栈来解题,遍历字符串,遇到(、[ 入栈,如果遇到 ‘)’、‘ ] ’,查看栈顶元素是否配对(),[ ]。如果配对就出栈,否则就报错。还有一点,遍历结束后,还要检查栈是否...原创 2019-06-29 23:20:45 · 571 阅读 · 0 评论 -
数字和为sum的方法数--牛客
给定一个有n个正整数的数组A和一个整数sum,求选择数组A中部分数字和为sum的方案数。当两种选取方案有一个数字的下标不一样,我们就认为是不同的组成方案。输入描述:输入为两行:第一行为两个正整数n(1 ≤ n ≤ 1000),sum(1 ≤ sum ≤ 1000)第二行为n个正整数A[i](32位整数),以空格隔开。输出描述:出所求的方案数示例1输入5 155 5 10 ...原创 2019-07-05 22:59:33 · 482 阅读 · 0 评论 -
大整数排序--牛客
对N个长度最长可达到1000的数进行排序。输入描述:输入第一行为一个整数N,(1<=N<=100)。接下来的N行每行有一个数,数的长度范围为1<=len<=1000。每个数都是一个正数,并且保证不包含前缀零。输出描述:可能有多组测试数据,对于每组数据,将给出的N个数从小到大进行排序,输出排序后的结果,每个数占一行。示例1输入3111111111111...原创 2019-07-06 20:23:12 · 183 阅读 · 0 评论 -
坐标移动--牛客
开发一个坐标计算工具, A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面。输入:合法坐标为A(或者D或者W或者S) + 数字(两位以内)坐标之间以;分隔。非法坐标点需要进行丢弃。如AA10; A1A; $%$; YAD; 等。下面是一个简单的例子 如:A10;S20;W10...原创 2019-07-19 23:50:51 · 273 阅读 · 0 评论 -
回文串(给定一个字符串,问是否能通过添加一个字母将其变为回文串)
给定一个字符串,问是否能通过添加一个字母将其变为回文串。输入描述:一行一个由小写字母构成的字符串,字符串长度小于等于10。输出描述:输出答案(YES\NO).示例1输入coco输出YES结题思路:如果一个字符串能通过添加一个字母变成回文串,那么它去掉一个字母也就可以变成会文串,于是我们就可以将字符串的每位都去掉一次去判断,如果一次回文串都没出现,说明添加一个字母也不能构成...原创 2019-07-17 22:05:21 · 1776 阅读 · 1 评论 -
字符串加解密--牛客
1、对输入的字符串进行加解密,并输出。2加密方法为:当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0;其他字符不做变化。3、解密方法为加密的逆过程。接口描述:实现接口,每个接口实现1个基本操作:void Encrypt (char aucPassword[...原创 2019-07-20 22:42:16 · 720 阅读 · 0 评论 -
成绩排序--牛客
题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩都按先录入排列在前的规则处理。例示:jack 70peter 96Tom 70smith 67从高到低 成绩peter 96jack 70Tom 70smith 67从低到高smith 67Tom...原创 2019-06-10 23:10:11 · 244 阅读 · 0 评论 -
数字分类--牛客
给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字:A1 = 能被5整除的数字中所有偶数的和;A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4...;A3 = 被5除后余2的数字的个数;A4 = 被5除后余3的数字的平均数,精确到小数点后1位;A5 = 被5除后余4的数字中最大数字。输入描述:每个输入包含1个测试用例。每个测试用例先给出一个...原创 2019-06-15 23:36:18 · 139 阅读 · 0 评论 -
回文素数
如果一个整数只能被1和自己整除,就称这个数是素数。 如果一个数正着反着都是一样,就称为这个数是回文数。例如:6, 66, 606, 6666 如果一个数字既是素数也是回文数,就称这个数是回文素数 牛牛现在给定一个区间[L, R],希望你能求出在这个区间内有多少个回文素数。 输入描述: 输入包括一行,一行中有两个整数(1 ≤ L ≤ R ≤ 1000)...原创 2019-06-08 23:40:45 · 989 阅读 · 0 评论 -
编码--牛客
题目描述假定一种编码的编码范围是a ~ y的25个字母,从1位到4位的编码,如果我们把该编码按字典序排序,形成一个数组如下: a, aa, aaa, aaaa, aaab, aaac, … …, b, ba, baa, baaa, baab, baac … …, yyyw, yyyx, yyyy 其中a的Index为0,aa的Index为1,aaa的Index为2,以此类推。 编写一个函数,输...原创 2019-04-10 22:58:01 · 335 阅读 · 0 评论 -
解救小易 —牛客网
题目描述有一片1000*1000的草地,小易初始站在(1,1)(最左上角的位置)。小易在每一秒会横向或者纵向移动到相邻的草地上吃草(小易不会走出边界)。大反派超超想去捕捉可爱的小易,他手里有n个陷阱。第i个陷阱被安置在横坐标为xi ,纵坐标为yi 的位置上,小易一旦走入一个陷阱,将会被超超捕捉。你为了去解救小易,需要知道小易最少多少秒可能会走入一个陷阱,从而提前解救小易。输入描述:第一行为一...原创 2019-03-28 20:36:35 · 188 阅读 · 0 评论 -
最强大脑
题目描述:小B乘火车和朋友们一起在N市到M市之间旅行。她在路途中时睡时醒。当她醒来观看窗外的风景时,注意到每个火车站都有一种特别颜色的旗帜,但是她看到的旗帜仅仅是经过的一小部分。小B在乘车过程中有两次清醒的时间,她到达旅程终点时处于睡梦中。出站时,她和朋友们谈论着一路的见闻,朋友们觉得很有意思,他们把N到和M之间经过车站的旗帜颜色依次列出来,然后告诉你小B记得的旗帜颜色序列,让你判断小B究竟是...原创 2019-04-11 23:28:39 · 252 阅读 · 0 评论 -
找出n个数里最小的K个 ——牛客
输入描述:每个测试输入包含空格分割的n+1个整数,最后一个整数为k值,n不超过100。输出描述:输出n个整数里最小的k个数。升序输出示例1输入:3 9 6 8 -10 7 -11 19 30 12 23 5输出:-11 -10 3 6 7解题思路:初始化的数组不一定全部接收了数字。所以用一个新数组接收除去最后输入进来的数字的数组,然后排序输出k位。...原创 2019-04-13 18:07:13 · 1547 阅读 · 0 评论 -
数字在排序数组中出现的次数 —— 牛客
统计一个数字在排序数组中出现的次数。先用二分查找出所要查找元素的下标,然后从这个下标开始分别向前和向后查找,直到出现不同的数。public class practice1 { public static void main(String[] args) { Solution s = new Solution(); int[] array = new...原创 2019-04-17 19:46:27 · 172 阅读 · 0 评论 -
交错01串 —— 牛客
题目描述:如果一个01串任意两个相邻位置的字符都是不一样的,我们就叫这个01串为交错01串。例如: "1","10101","0101010"都是交错01串。小易现在有一个01串s,小易想找出一个最长的连续子串,并且这个子串是一个交错01串。小易需要你帮帮忙求出最长的这样的子串的长度是多少。输入描述:输入包括字符串s,s的长度length(1 ≤ length ≤ 50),字符串中只...原创 2019-04-27 23:30:39 · 213 阅读 · 0 评论 -
计算重复字符串长度(请从字符串中找出至少重复一次的子字符串的最大长度)
请从字符串中找出至少重复一次的子字符串的最大长度输入描述:字符串,长度不超过1000输出描述:重复子串的长度,不存在输出0示例1输入ababcdabcefsgg输出3说明abc为重复的最大子串,长度为3解题思路:将字符串转换为字符数组,遍历数组找到相同的元素,然后继续判断接下来的还有几位字符是否相同。保存相同位数的个数,得到最大值。import ...原创 2019-05-03 18:37:18 · 1379 阅读 · 0 评论 -
最大乘积——牛客
题目描述给定一个无序数组,包含正数、负数和0,要求从中找出3个数的乘积,使得乘积最大,要求时间复杂度:O(n),空间复杂度:O(1)输入描述:元素个数n无序整数数组A[n]输出描述:满足条件的最大乘积示例1输入43 4 1 2输出24解题思路:在遍历数组时,要找出第一大,第二大,大三大的数,和最小的,次小的数(负负的正),返回 Math...原创 2019-04-28 23:28:03 · 217 阅读 · 0 评论 -
替换空格——牛客
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。创建一个动态字符串,当遇到非空格的时候,将判断的元素加入到其里面。如果遇到空格,一个字符一个字符的添加。直到遍历完。public class test0419 { public static void main(Stri...原创 2019-04-19 23:08:29 · 182 阅读 · 0 评论 -
.统计回文(输出一个数字,表示把字符串B插入字符串A之后构成一个回文串的方法数)
“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。花花非常喜欢这种拥有对称美的回文串,生日的时候她得到两个礼物分别是字符串A和字符串B。现在她非常好奇有没有办法将字符串B插入字符串A使产生的字符串是一个回文串。你接受花花的请求,帮助她寻找有多少种插入办法可以使新串是一个回文串。如果字符串B插入的位置不同就考虑为不一样的办法。例如:A = “aba”,B...原创 2019-05-21 23:11:55 · 544 阅读 · 1 评论 -
求数列的和(数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和)
数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。输入描述:输入数据有多组,每组占一行,由两个整数n(n < 10000)和m(m < 1000)组成,n和m的含义如前所述。输出描述:对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数。示例1输入81 42 2输出94.733.41public class Te...原创 2019-05-26 23:46:27 · 2788 阅读 · 0 评论 -
买苹果--牛客
题目描述小易去附近的商店买苹果,奸诈的商贩使用了捆绑交易,只提供6个每袋和8个每袋的包装(包装不可拆分)。 可是小易现在只想购买恰好n个苹果,小易想购买尽量少的袋数方便携带。如果不能购买恰好n个苹果,小易将不会购买。输入描述:输入一个整数n,表示小易想购买n(1 ≤ n ≤ 100)个苹果输出描述:输出一个整数表示最少需要购买的袋数,如果不能买恰好n个苹果则输出-1...原创 2019-05-22 23:06:26 · 128 阅读 · 0 评论 -
二货小易有一个W*H的网格盒子,网格的行编号为0~H-1,网格的列编号为0~W-1 每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。
二货小易有一个W*H的网格盒子,网格的行编号为0~H-1,网格的列编号为0~W-1每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。对于两个格子坐标(x1,y1),(x2,y2)的欧几里得距离为:( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) 的算术平方根小易想知道最多可以放多少块蛋糕在网格盒子里。输入描述:每组数组包含网格长宽W,H...原创 2019-05-27 22:32:05 · 847 阅读 · 1 评论 -
字符串中找出连续最长的数字串
题目描述读入一个字符串str,输出字符串str中的连续最长的数字串输入描述:个测试输入包含1个测试用例,一个字符串str,长度不超过255。输出描述:在一行内输出str中里连续最长的数字串。示例1输入abcd12345ed125ss123456789输出123456789解题思路:用max表示经过的数字长度最大值,count表示数字计数器,当为字母...原创 2019-05-31 23:04:09 · 1697 阅读 · 0 评论 -
格雷编码递归实现
在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同, 则称这种编码为格雷码(Gray Code),请编写一个函数,使用递归的方法生成N位的格雷码。给定一个整数n,请返回n位的格雷码,顺序为从0开始。测试样例:1返回:["0","1"]结题思路:如果仔细观察格雷码的结构,我们会有以下发现:1、除了最高位(左边第一位),格雷码的位元完全上下对称(看下面列表)。比如...原创 2019-06-01 19:12:15 · 527 阅读 · 0 评论 -
洗牌--牛客
洗牌在生活中十分常见,现在需要写一个程序模拟洗牌的过程。 现在需要洗2n张牌,从上到下依次是第1张,第2张,第3张一直到第2n张。首先,我们把这2n张牌分成两堆,左手拿着第1张到第n张(上半堆),右手拿着第n+1张到第2n张(下半堆)。接着就开始洗牌的过程,先放下右手的最后一张牌,再放下左手的最后一张牌,接着放下右手的倒数第二张牌,再放下左手的倒数第二张牌,直到最后放下左手的第一张牌。接着...原创 2019-06-06 23:27:32 · 304 阅读 · 0 评论 -
首个重复字符(对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。)
对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。给定一个字符串(不一定全为字母)A及它的长度n。请返回第一个重复出现的字符。保证字符串中有重复字符,字符串的长度小于等于500。测试样例:输入:"qywyer23tdd",11输出:返回:y解题思路:用 indexOf()来获取当前元素下标,在计算它后面与它相同的元素下标,保存下来,与后面用相同方法求得的下标比较...原创 2019-05-29 23:08:20 · 3219 阅读 · 0 评论 -
求和--牛客
输入两个整数 n 和 m,从数列1,2,3.......n 中随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来输入描述:每个测试输入包含2个整数,n和m输出描述:按每个组合的字典序排列输出,每行输出一种组合示例1输入5 5输出1 42 35import java.util.ArrayList;import java.util.Scanner;...原创 2019-07-22 22:48:29 · 311 阅读 · 0 评论