牛客专栏
文章平均质量分 58
蓝莓味营养快线
这个作者很懒,什么都没留下…
展开
-
常见IP地址及子网掩码类选择题
1.下列哪个IP地址可以分配给一台计算机(D)A.256.1.3.4B.197.3.11.0C.199.5.89D.11.25.33.235这里的A类地址,网络号占据1个字节,即前8位。低24位表示主机号B类地址,网络号占据2个字节,即前16位。低16位表示主机号2.以下哪个ip不和10.11.12.91/28处于同一个子网(D)A.10.11.12.85/28B.10.11.12.88/28C.10.11.12.94/28D.10.11.12.97/28原创 2022-06-01 20:27:37 · 3306 阅读 · 0 评论 -
查找兄弟单词和乒乓球框
1.链接:查找兄弟单词__牛客网来源:牛客网定义一个单词的“兄弟单词”为:交换该单词字母顺序(注:可以交换任意次),而不添加、删除、修改原有的字母就能生成的单词。兄弟单词要求和原来的单词不同。例如: ab 和 ba 是兄弟单词。 ab 和 ab 则不是兄弟单词。现在给定你 n 个单词,另外再给你一个单词 x ,让你寻找 x 的兄弟单词里,按字典序排列后的第 k 个单词是什么?注意:字典中可能有重复单词。数据范围:1≤n≤10001 \le n \le 1000 \ 1≤n≤100..原创 2022-05-28 23:56:36 · 114 阅读 · 0 评论 -
动态规划之最长子序列和五子棋
1.最长子序列链接:最长上升子序列__牛客网来源:牛客网广场上站着一支队伍,她们是来自全国各地的扭秧歌代表队,现在有她们的身高数据,请你帮忙找出身高依次递增的子序列。 例如队伍的身高数据是(1、7、3、5、9、4、8),其中依次递增的子序列有(1、7),(1、3、5、9),(1、3、4、8)等,其中最长的长度为4。输入描述:输入包含多组数据,每组数据第一行包含一个正整数n(1≤n≤1000)。紧接着第二行包含n个正整数m(1≤n≤10000),代表队伍中每位队员的身高。输出描.原创 2022-05-21 23:25:27 · 170 阅读 · 0 评论 -
广度优先遍历之红与黑
1.红与黑链接:红与黑__牛客网来源:牛客网有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻的(上下左右四个方向)黑色瓷砖移动。请写一个程序,计算你总共能够到达多少块黑色的瓷砖。输入描述:输入包含多组数据。每组数据第一行是两个整数 m 和 n(1≤m, n≤20)。紧接着 m 行,每行包括 n 个字符。每个字符表示一块瓷砖的颜色,规则如下:1. “.”:黑色的瓷砖;2. “#”:白色的瓷砖;3. “@”:黑色的瓷砖,并且你站.原创 2022-05-19 17:31:37 · 165 阅读 · 0 评论 -
分解因数和求因子个数
1.分解因数链接:分解因数__牛客网来源:牛客网所谓因子分解,就是把给定的正整数a,分解成若干个素数的乘积,即 a = a1 × a2 × a3 × ... × an,并且 1 < a1 ≤ a2 ≤ a3 ≤ ... ≤ an。其中a1、a2、...、an均为素数。 先给出一个整数a,请输出分解后的因子。输入描述:输入包含多组数据,每组数据包含一个正整数a(2≤a≤1000000)。输出描述:对应每组数据,以“a = a1 * a2 * a3...”的形式输出因式分.原创 2022-05-13 09:31:24 · 265 阅读 · 0 评论 -
Day23
1.跳台阶扩展问题一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶(n为正整数)总共有多少种跳法。数据范围:1≤n≤201 \le n \le 201≤n≤20进阶:空间复杂度 O(1)O(1) O(1) , 时间复杂度 O(1)O(1)O(1)示例1输入3输出4示例2输入1输出1public class Solution { public int jumpFloorII(int ta.原创 2022-04-27 22:01:07 · 136 阅读 · 0 评论 -
Day22
1.星际密码星际战争开展了100年之后,NowCoder终于破译了外星人的密码!他们的密码是一串整数,通过一张表里的信息映射成最终4位密码。表的规则是:n对应的值是矩阵X的n次方的左上角,如果这个数不足4位则用0填充,如果大于4位的则只输出最后4位。|1 1|^n => |Xn ..||1 0| |.. ..|例如n=2时,|1 1|^2 => |1 1| * |1 1| => |2 1||1 0| |1 0| |1 0| |1 1|即2对应...原创 2022-04-26 17:08:44 · 191 阅读 · 0 评论 -
Day21
1.年终奖 小东所在公司要发年终奖,而小东恰好获得了最高福利,他要在公司年会上参与一个抽奖游戏,游戏在一个6*6的棋盘上进行,上面放着36个价值不等的礼物,每个小的棋盘上面放置着一个礼物,他需要从左上角开始游戏,每次只能向下或者向右移动一步,到达右下角停止,一路上的格子里的礼物小东都能拿到,请设计一个算法使小东拿到价值最高的礼物。给定一个6*6的矩阵board,其中每个元素为对应格子的礼物价值,左上角为[0,0],请返回能获得的最大价值,保证每个礼物价值大于100小于1000。impo...原创 2022-04-25 01:23:25 · 85 阅读 · 0 评论 -
Day20
1.计算字符串的编辑距离Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。编辑距离的算法是首先由俄国科学家 Levenshtein 提出的,故又叫 Levenshtein Distance 。例如:字符串A: abcdefg字符串B: abcdef通过增加或是删掉字符 ”g” 的方式达到目的。这两种方案都需要一次操作。把这个操作所需要的次数定义为两个字符串.原创 2022-04-24 16:42:04 · 91 阅读 · 0 评论 -
Day18
1.洗牌在生活中十分常见,现在需要写一个程序模拟洗牌的过程。 现在需要洗2n张牌,从上到下依次是第1张,第2张,第3张一直到第2n张。首先,我们把这2n张牌分成两堆,左手拿着第1张到第n张(上半堆),右手拿着第n+1张到第2n张(下半堆)。接着就开始洗牌的过程,先放下右手的最后一张牌,再放下左手的最后一张牌,接着放下右手的倒数第二张牌,再放下左手的倒数第二张牌,直到最后放下左手的第一张牌。接着把牌合并起来就可以了。 例如有6张牌,最开始牌的序列是1,2,3,4,5,6。首先分成两组,左手拿着1,2,3;右.原创 2022-04-24 16:18:20 · 72 阅读 · 0 评论 -
最长公共子串
1.查找两个字符串a,b中的最长公共子串查找两个字符串a,b中的最长公共子串。若有多个,输出在较短串中最先出现的那个。注:子串的定义:将一个字符串删去前缀和后缀(也可以不删)形成的字符串。请和“子序列”的概念分开!数据范围:字符串长度1\le length \le300 \1≤length≤300进阶:时间复杂度:O(n^3)\O(n3),空间复杂度:O(n)\O(n)输入描述:输入两个字符串输出描述:返回重复出现的字符示例1输入:abcdefghi...原创 2022-04-19 20:18:30 · 619 阅读 · 1 评论 -
Day17
1.二叉树的镜像链接:二叉树的镜像__牛客网来源:牛客网操作给定的二叉树,将其变换为源二叉树的镜像。数据范围:二叉树的节点数 0≤n≤10000 \le n \le 10000≤n≤1000 , 二叉树每个节点的值 0≤val≤10000\le val \le 1000 0≤val≤1000要求: 空间复杂度 O(n)O(n)O(n) 。本题也有原地操作,即空间复杂度 O(1)O(1)O(1) 的解法,时间复杂度 O(n)O(n)O(n)public class Solu..原创 2022-04-17 15:47:03 · 572 阅读 · 0 评论 -
Day16
1.扑克牌大小描述扑克牌游戏大家应该都比较熟悉了,一副牌由54张组成,含3~A,2各4张,小王1张,大王1张。牌面从小到大用如下字符和字符串表示(其中,小写joker表示小王,大写JOKER表示大王):)3 4 5 6 7 8 9 10 J Q K A 2 joker JOKER输入两手牌,两手牌之间用“-”连接,每手牌的每张牌以空格分隔,“-”两边没有空格,如:4 4 4 4-joker JOKER请比较两手牌大小,输出较大的牌,如果不存在比较关系则输出ERROR基本规则:(1)输...原创 2022-04-16 13:40:31 · 75 阅读 · 0 评论 -
Day15
1.手套的个数在地下室里放着n种颜色的手套,手套分左右手,但是每种颜色的左右手手套个数不一定相同。A先生现在要出门,所以他要去地下室选手套。但是昏暗的灯光让他无法分辨手套的颜色,只能分辨出左右手。所以他会多拿一些手套,然后选出一双颜色相同的左右手手套。现在的问题是,他至少要拿多少只手套(左手加右手),才能保证一定能选出一双颜色相同的手套。给定颜色种数n(1≤n≤13),同时给定两个长度为n的数组left,right,分别代表每种颜色左右手手套的数量。数据保证左右的手套总数均不超过26,且一定存在至少原创 2022-04-14 23:42:47 · 58 阅读 · 0 评论 -
Day14
1.计算日期到天数转换根据输入的日期,计算是这一年的第几天。保证年份为4位数且日期合法。进阶:时间复杂度:O(n)\O(n) ,空间复杂度:O(1)\O(1)输入描述:输入一行,每行空格分割,分别是年,月,日输出描述:输出是这一年的第几天示例1输入:2012 12 31输出:366示例2输入:1982 3 4输出:63import java.util.*;public class Main{ public stat原创 2022-04-14 10:30:45 · 87 阅读 · 0 评论 -
Date13
1.参数解析在命令行输入如下命令:xcopy /s c:\\ d:\\e,各个参数如下:参数1:命令字xcopy参数2:字符串/s参数3:字符串c:\\参数4: 字符串d:\\e请编写一个参数解析程序,实现将命令行各个参数解析出来。解析规则:1.参数分隔符为空格2.对于用""包含起来的参数,如果中间有空格,不能解析为多个参数。比如在命令行输入xcopy/s "C:\\programfiles" "d:\"时,参数仍然是4个,第3个参数应该是字符串C:\\pro...原创 2022-04-12 13:31:18 · 76 阅读 · 0 评论 -
Date11
1.求最大连续bit数求一个int类型数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1数据范围:数据组数:1\le t\le 5\1≤t≤5 ,1\le n\le 500000\1≤n≤500000进阶:时间复杂度:O(logn)\O(logn) ,空间复杂度:O(1)\O(1)输入描述:输入一个int类型数字输出描述:输出转成二进制之后连续1的个数示例1输入:2002200的二进制表示是11001000,最多有2个连续的.原创 2022-04-09 14:15:31 · 131 阅读 · 0 评论 -
Date10
1.给定一个二维数组board,代表棋盘,其中元素为1的代表是当前玩家的棋子,0表示没有棋子,-1代表是对方玩家的棋子。当一方棋子在横竖斜方向上有连成排的及获胜(及井字棋规则),返回当前玩家是否胜出。测试样例:[[1,0,1],[1,-1,-1],[1,-1,0]]返回:trueimport java.util.*;public class Board { public boolean checkWon(int[][] board) { int len原创 2022-04-09 14:01:56 · 51 阅读 · 0 评论 -
Date9
1.两数相加给定两个int A和B。编写一个函数返回A+B的值,但不得使用+或其他算数运算符。测试样例:1,2返回:3import java.util.*;public class UnusualAdd { public int addAB(int A, int B) { if(B == 0){ return A; } int sum = 0; int p = 0;原创 2022-04-09 13:28:45 · 71 阅读 · 0 评论 -
Date8
1.两种排序方法考拉有n个字符串字符串,任意两个字符串长度都是不同的。考拉最近学习到有两种字符串的排序方法: 1.根据字符串的字典序排序。例如:"car" < "carriage" < "cats" < "doggies < "koala"2.根据字符串的长度排序。例如:"car" < "cats" < "koala" < "doggies" < "carriage"考拉想知道自己的这些字符串排列顺序是否满足这两种排序方法,考拉要忙着吃树叶,所以.原创 2022-04-09 10:51:09 · 131 阅读 · 0 评论 -
Date6
1.不要二 二货小易有一个W*H的网格盒子,网格的行编号为0~H-1,网格的列编号为0~W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。对于两个格子坐标(x1,y1),(x2,y2)的欧几里得距离为:( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) 的算术平方根小易想知道最多可以放多少块蛋糕在网格盒子里。输入描述:每组数组包含网格长宽W,H,用空格分割.(1 ≤ W、H ≤ 1000)输出描述:输出一个最多可以...原创 2022-04-08 20:44:34 · 43 阅读 · 0 评论 -
Date5
1.统计回文子串个数回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。花花非常喜欢这种拥有对称美的回文串,生日的时候她得到两个礼物分别是字符串A和字符串B。现在她非常好奇有没有办法将字符串B插入字符串A使产生的字符串是一个回文串。你接受花花的请求,帮助她寻找有多少种插入办法可以使新串是一个回文串。如果字符串B插入的位置不同就考虑为不一样的办法。例如:A = “aba”,B = “b”。这里有4种把B插入A的办法:* 在A的第一个字母之前: "baba" 不是原创 2022-04-08 17:49:03 · 68 阅读 · 0 评论 -
Date 4
1.给定一个十进制数M,以及需要转换的进制数N。将十进制数M转化为N进制数输入描述:输入为一行,M(32位整数)、N(2 ≤ N ≤ 16),以空格隔开。输出描述:为每个测试实例输出转换后的数,每个输出占一行。如果N大于9,则对应的数字规则参考16进制(比如,10用A表示,等等)示例1输入:7 2复制输出:111import java.util.*;public class Main{ public static void main(Strin.原创 2022-04-05 00:17:34 · 64 阅读 · 0 评论 -
Date 3
1.读入一个字符串str,输出字符串str中的连续最长的数字串输入描述:个测试输入包含1个测试用例,一个字符串str,长度不超过255。输出描述:在一行内输出str中里连续最长的数字串。示例1输入:abcd12345ed125ss123456789复制输出:123456789import java.util.*;public class Main{ public static void main(String[] args){ ..原创 2022-04-04 10:40:28 · 100 阅读 · 0 评论 -
Date 2
1.链接:排序子序列_牛客笔试题_牛客网来源:牛客网牛牛定义排序子序列为一个数组中一段连续的子序列,并且这段子序列是非递增或者非递减排序的。牛牛有一个长度为n的整数数组A,他现在有一个任务是把数组A分为若干段排序子序列,牛牛想知道他最少可以把这个数组分为几段排序子序列.如样例所示,牛牛可以把数组A划分为[1,2,3]和[2,2,1]两个排序子序列,至少需要划分为2个排序子序列,所以输出2输入描述:输入的第一行为一个正整数n(1 ≤ n ≤ 10^5)第二行包括n个整数A_i(..原创 2022-04-04 10:14:52 · 218 阅读 · 0 评论 -
Date 1
1.链接:组队竞赛_牛客笔试题_牛客网来源:牛客网牛牛举办了一次编程比赛,参加比赛的有3*n个选手,每个选手都有一个水平值a_i.现在要将这些选手进行组队,一共组成n个队伍,即每个队伍3人.牛牛发现队伍的水平值等于该队伍队员中第二高水平值。例如:一个队伍三个队员的水平值分别是3,3,3.那么队伍的水平值是3一个队伍三个队员的水平值分别是3,2,3.那么队伍的水平值是3一个队伍三个队员的水平值分别是1,5,2.那么队伍的水平值是2为了让比赛更有看点,牛牛想安排队伍使所有队伍的水平值总和最大。.原创 2022-04-03 23:35:43 · 75 阅读 · 0 评论