牛客
木阿南二三记
这个作者很懒,什么都没留下…
展开
-
小易喜欢的单词(小易喜欢的单词具有以下特性: 1.单词每个字母都是大写字母 2.单词没有连续相等的字母 3.单词没有形如“xyxy”这样的子序列,子序列可能不连续。)
小易喜欢的单词题目描述小易喜欢的单词具有以下特性:1.单词每个字母都是大写字母2.单词没有连续相等的字母3.单词没有形如“xyxy”(这里的x,y指的都是字母,并且可以相同)这样的子序列,子序列可能不连续。例如:小易不喜欢"ABBA",因为这里有两个连续的'B'小易不喜欢"THETXH",因为这里包含子序列"THTH"小易不喜欢"ABACADA",因为这里包含子序列"AAAA...原创 2019-03-30 12:38:44 · 1745 阅读 · 0 评论 -
猜数游戏(牛牛和羊羊在玩一个有趣的猜数游戏。在这个游戏中,牛牛玩家选择一个正整数,羊羊根据已给的提示猜这个数字。第i个提示是"Y"或者"N",表示牛牛选择的数是否是i的倍数。)
猜数游戏牛牛和羊羊在玩一个有趣的猜数游戏。在这个游戏中,牛牛玩家选择一个正整数,羊羊根据已给的提示猜这个数字。第i个提示是"Y"或者"N",表示牛牛选择的数是否是i的倍数。例如,如果提示是"YYNYY",它表示这个数使1,2,4,5的倍数,但不是3的倍数。注意到一些提示会出现错误。例如: 提示"NYYY"是错误的,因为所有的整数都是1的倍数,所以起始元素肯定不会是"N"。此外,例如"YN...原创 2019-06-23 19:57:47 · 1337 阅读 · 0 评论 -
成绩排序(输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩都按先录入排列在前的规则处理。)
成绩排序查找和排序题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩都按先录入排列在前的规则处理。 例示: jack 70 peter 96 Tom 70 smith 67 从高到低 成绩 peter 96 jack 70 Tom 70...原创 2019-06-24 16:22:10 · 4422 阅读 · 2 评论 -
简单错误记录(开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。)
简单错误记录开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。处理:1.记录最多8条错误记录,对相同的错误记录(即文件名称和行号完全匹配)只记录一条,错误计数增加;(文件所在的目录不同,文件名和行号相同也要合并)2.超过16个字符的文件名称,只记录文件的最后有效16个字符;(如果文件名不同,而只是文件名的后16个字符和行号相同,也不要合并)3.输入的文件可能带路...原创 2019-07-08 16:40:09 · 3862 阅读 · 4 评论 -
BigInteger的范围、常见用法+大整数排序(对N个长度最长可达到1000的数进行排序。)
BigInteger的范围:BigInteger 任意大的整数,原则上是,只要你的计算机的内存足够大,可以有无限位的,BigInteger 任意大的实数,可以处理小数精度问题。BigInteger的常见用法:(1)赋值:将int型的数赋值给BigInteger,BigInteger.valueOf(k);(2)运算:add:+ ;subtract:- ;mul...原创 2019-07-13 12:01:57 · 9983 阅读 · 0 评论 -
错排算法+年会抽奖(例题)(n个正整数排列,使其中的每一个数都不在原来的位置上,问这n个正整数的排法有多少种?)
错排问题:有n个正整数1,2,3,……n,将这n个正整数重新排列,使其中的每一个数都不在原来的位置上,这种排列称为正整数1,2,3,……n的错排,问这n个正整数的排个数是多少?有以下两种算法:1)公式:2)递推:a1=0,a2=1,当n≥3时,关于递推的分析在题目的分析中。年会抽奖今年公司年会的奖品特别给力,但获奖的规矩却很奇葩:1. 首先,所有人...原创 2019-07-05 21:05:35 · 2203 阅读 · 0 评论 -
人民币转换(阿拉伯数字转为中文大写的人民币格式)
人民币转换1、中文大写金额数字前应标明“人民币”字样。中文大写金额数字应用壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟、万、亿、元、角、分、零、整等字样填写。2、中文大写金额数字到“元”为止的,在“元”之后,应写“整字,如¥532.00应写成“人民币伍佰叁拾贰元整”。在”角“和”分“后面不写”整字。3、阿拉伯数字中间有“0”时,中文大写要写“零”字,阿拉伯数字中间连续有几个“0”...原创 2019-07-01 12:12:18 · 2727 阅读 · 0 评论 -
木棒拼图(有一个由很多木棒构成的集合,每个木棒有对应的长度,请问能否用集合中的这些木棒以某个顺序首尾相连构成一个面积大于 0 的简单多边形且所有木棒都要用上,简单多边形即不会自交的多边形。)
木棒拼图有一个由很多木棒构成的集合,每个木棒有对应的长度,请问能否用集合中的这些木棒以某个顺序首尾相连构成一个面积大于 0 的简单多边形且所有木棒都要用上,简单多边形即不会自交的多边形。初始集合是空的,有两种操作,要么给集合添加一个长度为 L 的木棒,要么删去集合中已经有的某个木棒。每次操作结束后你都需要告知是否能用集合中的这些木棒构成一个简单多边形。输入描述:每组测试用例仅...原创 2019-07-15 18:36:32 · 1195 阅读 · 0 评论 -
地下迷宫(小青蛙有一天不小心落入了一个地下迷宫,小青蛙希望用自己仅剩的体力值P跳出这个地下迷宫。)
地下迷宫小青蛙有一天不小心落入了一个地下迷宫,小青蛙希望用自己仅剩的体力值P跳出这个地下迷宫。为了让问题简单,假设这是一个n*m的格子迷宫,迷宫每个位置为0或者1,0代表这个位置有障碍物,小青蛙达到不了这个位置;1代表小青蛙可以达到的位置。小青蛙初始在(0,0)位置,地下迷宫的出口在(0,m-1)(保证这两个位置都是1,并且保证一定有起点到终点可达的路径),小青蛙在迷宫中水平移动一个单位距离...原创 2019-07-15 18:54:52 · 638 阅读 · 1 评论 -
最大连续子数组和(一个数组有 N 个元素,求连续子数组的最大和)
最大连续子数组和一个数组有 N 个元素,求连续子数组的最大和。 例如:[-1,2,1],和最大的连续子数组为[2,1],其和为 3输入描述:输入为两行。 第一行一个整数n(1 <= n <= 100000),表示一共有n个元素 第二行为n个数,即每个元素,每个整数都在32位int范围内。以空格分隔。输出描述:所有连续子数组中和最大的值。示例:示...原创 2019-07-19 09:07:17 · 3225 阅读 · 2 评论 -
左右最值最大差(给定一个长度为的整型数组A,可以将A划分成左右两个部分,左部分A[0..K],右部分A[K+1..N-1],求左右部分最大绝对差值)
左右最值最大差给定一个长度为N(N>1)的整型数组A,可以将A划分成左右两个部分,左部分A[0..K],右部分A[K+1..N-1],K可以取值的范围是[0,N-2]。求这么多划分方案中,左部分中的最大值减去右部分最大值的绝对值,最大是多少?给定整数数组A和数组的大小n,请返回题目所求的答案。测试样例:[2,7,3,1,1],5返回:6分析:不管从哪分隔...原创 2019-07-29 12:17:04 · 752 阅读 · 0 评论 -
庆祝61-牛客模拟笔试七月场(使圆圈队形中相邻小朋友的身高差的最大值最小的解法)
庆祝61:牛家庄幼儿园为庆祝61儿童节举办庆祝活动,庆祝活动中有一个节目是小朋友们围成一个圆圈跳舞。牛老师挑选出n个小朋友参与跳舞节目,已知每个小朋友的身高h_i。为了让舞蹈看起来和谐,牛老师需要让跳舞的圆圈队形中相邻小朋友的身高差的最大值最小,牛老师犯了难,希望你能帮帮他。如样例所示:当圆圈队伍按照100,98,103,105顺时针排列的时候最大身高差为5,其他排列不会得到更优的解...原创 2019-07-23 11:39:05 · 2537 阅读 · 0 评论 -
生成格雷码 (在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同, 则称这种编码为格雷码(Gray Code),请编写一个函数,使用递归的方法生成N位的格雷码。)
生成格雷码在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同, 则称这种编码为格雷码(Gray Code),请编写一个函数,使用递归的方法生成N位的格雷码。给定一个整数n,请返回n位的格雷码,顺序为从0开始。测试样例:1返回:["0","1"]分析:列出一组格雷码:000001011010110111101100我们会发现除了最高位,...原创 2019-06-01 21:26:55 · 5757 阅读 · 0 评论 -
饥饿的小易(最开始小易在一个初始位置x_0。对于小易所处的当前位置x,他只能通过神秘的力量移动到 4 * x + 3或者8 * x + 7。只能使用神秘力量最多100,000次)
饥饿的小易小易总是感觉饥饿,所以作为章鱼的小易经常出去寻找贝壳吃。最开始小易在一个初始位置x_0。对于小易所处的当前位置x,他只能通过神秘的力量移动到 4 * x + 3或者8 * x + 7。因为使用神秘力量要耗费太多体力,所以它只能使用神秘力量最多100,000次。贝壳总生长在能被1,000,000,007整除的位置(比如:位置0,位置1,000,000,007,位置2,000,000,0...原创 2019-06-05 15:36:57 · 411 阅读 · 0 评论 -
Set的主要实现类HashSet(HashSet详解+相关练习题(下厨房:牛牛想尝试一些新的料理,每个料理需要一些不同的材料,问完成所有的料理需要准备多少种不同的材料。))
一、Set的主要实现类HashSetSet接口:存储无序的、不可重复的元素,Set中常用的方法都是Collection下定义的。HashSet(主要实现类):(1)无序性:不等于随机性,无序指的是元素在底层存储的位置是无序的。(2)不可重复性:向Set中添加相同元素时,后面添加的元素无法添加。 说明:要求添加进Set中的元素所在的类,一定要...原创 2019-03-27 16:13:53 · 413 阅读 · 0 评论 -
整数中1出现的次数(从1到n整数中1出现的次数)
整数中1出现的次数(从1到n整数中1出现的次数)求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。分析:分类讨论:(1...原创 2019-04-17 15:10:15 · 124 阅读 · 0 评论 -
约瑟夫问题I(由n个人坐成一圈,按顺时针由1开始给他们编号。然后由第一个人开始报数,数到m的人出局。现在需要求的是最后一个出局的人的编号。)
此题联系牛客网“孩子们的游戏(圆圈中最后剩下的数)”。题目描述:每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他...原创 2019-04-26 13:25:02 · 9489 阅读 · 1 评论 -
把数组排成最小的数(输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。)
把数组排成最小的数输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。分析:用到Arrays下的sort(T[] a,Comparator<? super T> c)函数,所以这里先解释一下这个函数。public static <T>...原创 2019-04-17 17:27:31 · 1722 阅读 · 0 评论 -
不用加减乘除做加法(求两个整数之和,要求在不得使用+、-、*、/四则运算符号)、求1+2+3+...+n(不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断)
1.不用加减乘除做加法题目描述:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。分析:第一步:两数进行异或操作,相当于求出两个数二进制不算进位的和,记为sum,如:5^7-->101^111=010-->2第二步:两数进行与操作并向左移一位,相当于求出两个数二进制进位的和,记为carry,如:(5&7)<<1...原创 2019-04-26 16:17:47 · 514 阅读 · 0 评论 -
字符串的全排列(输入一个字符串,按字典序打印出该字符串中字符的所有排列。)
字符串排列题目描述:输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。分析:固定第一个字符,递归取得首位后面的各种字符串组合;再将第一个字符与后面每一个字符交换,...原创 2019-04-27 18:00:06 · 10462 阅读 · 4 评论 -
回溯法+习题(矩阵中的路径,机器人的运动范围(有一个m行和n列的方格。机器人从坐标0,0的格子开始移动,每次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子))
回溯法:是一种选优搜索法,又称为试探法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。1.矩阵中的路径题目描述:请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵...原创 2019-04-29 11:24:32 · 2976 阅读 · 0 评论 -
和为S的连续正数序列 (输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序)
和为S的连续正数序列题目描述:小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!输出描述:...原创 2019-04-25 07:06:21 · 312 阅读 · 0 评论 -
数组中的逆序对(在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。)
数组中的逆序对题目描述:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007输入描述:题目保证输入的数组中没有的相同的数字数据范围: 对于%50的数据,size<=10^4 对于...原创 2019-05-08 15:08:33 · 3779 阅读 · 0 评论 -
寻找第K大(有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数。 给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数。)
寻找第K大有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数。 给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数。测试样例:[1,3,5,2,2],5,3返回:2分析:根据快速排序的思路:快排参见:https://blog.csdn.net/qq_43109561/article/details/90235946按...原创 2019-05-21 20:49:53 · 5266 阅读 · 1 评论 -
数字和为sum的方法数(给定一个有n个正整数的数组A和一个整数sum,求选择数组A中部分数字和为sum的方案数。 当两种选取方案有一个数字的下标不一样,我们就认为是不同的组成方案。)
数字和为sum的方法数题目描述:给定一个有n个正整数的数组A和一个整数sum,求选择数组A中部分数字和为sum的方案数。当两种选取方案有一个数字的下标不一样,我们就认为是不同的组成方案。输入描述:输入为两行:第一行为两个正整数n(1 ≤ n ≤ 1000),sum(1 ≤ sum ≤ 1000)第二行为n个正整数A[i](32位整数),以空格隔开。输出描述:...原创 2019-05-23 21:42:06 · 6295 阅读 · 0 评论 -
餐馆(餐馆有n张桌子,每张桌子有一个参数a 可容纳的最大人数; 有m批客人,每批客人有两个参数:b人数,c预计消费金额。 不允许拼桌的情况下,选择其中一部分客人,使得总预计消费金额最大)
餐馆某餐馆有n张桌子,每张桌子有一个参数:a 可容纳的最大人数; 有m批客人,每批客人有两个参数:b人数,c预计消费金额。 在不允许拼桌的情况下,请实现一个算法选择其中一部分客人,使得总预计消费金额最大输入描述:输入包括m+2行。 第一行两个整数n(1 <= n <= 50000),m(1 <= m <= 50000) 第二行为n个参数a,即每个桌子可容纳...原创 2019-08-13 09:03:10 · 1775 阅读 · 0 评论