![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
牛客网刷题
*晴儿*
这个作者很懒,什么都没留下…
展开
-
藏宝图
牛牛拿到了一个藏宝图,顺着藏宝图的指示,牛牛发现了一个藏宝盒,藏宝盒上有一个机关,机关每次会显示两个字符串 s 和 t,根据古老的传说,牛牛需要每次都回答 t 是否是 s 的子序列。注意,子序列不要求在原字符串中是连续的,例如串 abc,它的子序列就有 {空串, a, b, c, ab, ac, bc, abc} 8 种。 输入描述:每个输入包含一个测试用例。每个测试用例包含两行长度不超...原创 2018-10-27 16:56:07 · 224 阅读 · 0 评论 -
合并两个排序的链表
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 /*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution {...原创 2018-10-28 20:23:22 · 63 阅读 · 0 评论 -
DNA合成
DNA分子是以4种脱氧核苷酸为单位连接而成的长链,这4种脱氧核苷酸分别含有A,T,C,G四种碱基。碱基互补配对原则:A和T是配对的,C和G是配对的。如果两条碱基链长度是相同的并且每个位置的碱基是配对的,那么他们就可以配对合成为DNA的双螺旋结构。现在给出两条碱基链,允许在其中一条上做替换操作:把序列上的某个位置的碱基更换为另外一种碱基。问最少需要多少次让两条碱基链配对成功 输入描述:输入...原创 2018-10-20 21:06:47 · 959 阅读 · 0 评论 -
字符串排序
输入一个长度不超过20的字符串,对所输入的字符串,按照ASCII码的大小从小到大进行排序,请输出排序后的结果 输入描述: 一个字符串,其长度n<=20输出描述: 输入样例可能有多组,对于每组测试样例,按照ASCII码的大小对输入的字符串从小到大进行排序,输出排序后的结果示例1输入dcba输出abcd while True: ...原创 2018-10-20 21:06:14 · 263 阅读 · 0 评论 -
maximum-depth-of-binary-tree
Given a binary tree, find its maximum depth.The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node. /** * Definition for binary tree...原创 2018-10-22 22:02:33 · 110 阅读 · 0 评论 -
牛牛打响指
牛牛在地上捡到了一个手套,他带上手套发现眼前出现了很多个小人,当他打一下响指,这些小人的数量就会发生以下变化:如果小人原本的数量是偶数那么数量就会变成一半,如果小人原本的数量是奇数那么数量就会加一。现在牛牛想考考你,他要打多少次响指,才能让小人的数量变成1。 输入描述:每个输入包含一个测试用例。输入的第一行包括一个正整数,表示一开始小人的数量N(1<=N<=10^100)。...原创 2018-10-17 09:23:07 · 250 阅读 · 0 评论 -
添加元素
在数组 arr 的 index 处添加元素 item。不要直接修改数组 arr,结果返回新的数组示例1输入[1, 2, 3, 4], 'z', 2输出[1, 2, 'z', 3, 4]强制宝宝用js很痛苦……function insert(arr, item, index) { var l=arr.length; var newarr=new Ar...原创 2018-10-17 09:21:49 · 141 阅读 · 0 评论 -
连续整数
牛牛的好朋友羊羊在纸上写了n+1个整数,羊羊接着抹除掉了一个整数,给牛牛猜他抹除掉的数字是什么。牛牛知道羊羊写的整数神排序之后是一串连续的正整数,牛牛现在要猜出所有可能是抹除掉的整数。例如:10 7 12 8 11 那么抹除掉的整数只可能是95 6 7 8 那么抹除掉的整数可能是4也可能是9 输入描述:输入包括2行: 第一行为整数n(1 <= n <= 50),即抹除...原创 2018-10-19 10:32:21 · 617 阅读 · 0 评论 -
翻转子串
假定我们都知道非常高效的算法来检查一个单词是否为其他字符串的子串。请将这个算法编写成一个函数,给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成,要求只能调用一次检查子串的函数。给定两个字符串s1,s2,请返回bool值代表s2是否由s1旋转而成。字符串中字符为英文字母和空格,区分大小写,字符串长度小于等于1000。测试样例:"Hello world","worldhel...原创 2018-10-19 10:14:32 · 221 阅读 · 0 评论 -
星际穿越
航天飞行器是一项复杂而又精密的仪器,飞行器的损耗主要集中在发射和降落的过程,科学家根据实验数据估计,如果在发射过程中,产生了 x 程度的损耗,那么在降落的过程中就会产生 x2 程度的损耗,如果飞船的总损耗超过了它的耐久度,飞行器就会爆炸坠毁。问一艘耐久度为 h 的飞行器,假设在飞行过程中不产生损耗,那么为了保证其可以安全的到达目的地,只考虑整数解,至多发射过程中可以承受多少程度的损耗? 输入描...原创 2018-10-28 20:31:34 · 90 阅读 · 0 评论 -
数组逆置
输入一个字符串,长度小于等于200,然后将数组逆置输出。 输入描述:测试数据有多组,每组输入一个字符串。输出描述:对于每组输入,请输出逆置后的结果。示例1输入hdssg输出gssdh while True: try: s=input() string="" for i in range...原创 2018-10-21 09:34:38 · 174 阅读 · 0 评论 -
循环单词
如果一个单词通过循环右移获得的单词,我们称这些单词都为一种循环单词。 例如:picture 和 turepic 就是属于同一种循环单词。 现在给出n个单词,需要统计这个n个单词中有多少种循环单词。 输入描述:输入包括n+1行:第一行为单词个数n(1 ≤ n ≤ 50)接下来的n行,每行一个单词word[i],长度length(1 ≤ length ≤ 50)。由小写字母构成...原创 2018-10-21 09:35:30 · 953 阅读 · 0 评论 -
访问单个节点的删除
实现一个算法,删除单向链表中间的某个结点,假定你只能访问该结点。给定待删除的节点,请执行删除操作,若该节点为尾节点,返回false,否则返回true import java.util.*;/*public class ListNode { int val; ListNode next = null; ListNode(int val) { ...原创 2018-10-27 16:37:18 · 108 阅读 · 0 评论 -
解救小易
有一片1000*1000的草地,小易初始站在(1,1)(最左上角的位置)。小易在每一秒会横向或者纵向移动到相邻的草地上吃草(小易不会走出边界)。大反派超超想去捕捉可爱的小易,他手里有n个陷阱。第i个陷阱被安置在横坐标为xi ,纵坐标为yi 的位置上,小易一旦走入一个陷阱,将会被超超捕捉。你为了去解救小易,需要知道小易最少多少秒可能会走入一个陷阱,从而提前解救小易。 输入描述:第一行为一个...原创 2018-10-24 11:45:34 · 104 阅读 · 0 评论 -
反转链表
输入一个链表,反转链表后,输出新链表的表头。 /*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { public ListNode Rev...原创 2018-10-24 11:18:38 · 65 阅读 · 0 评论 -
分苹果
n 只奶牛坐在一排,每个奶牛拥有 ai 个苹果,现在你要在它们之间转移苹果,使得最后所有奶牛拥有的苹果数都相同,每一次,你只能从一只奶牛身上拿走恰好两个苹果到另一个奶牛上,问最少需要移动多少次可以平分苹果,如果方案不存在输出 -1。 输入描述:每个输入包含一个测试用例。每个测试用例的第一行包含一个整数 n(1 <= n <= 100),接下来的一行包含 n 个整数 ai(1 ...原创 2018-10-26 17:45:21 · 88 阅读 · 0 评论 -
地域划分
现在有一块长条形的土地,这个土地我们可以看成是由n块小方格连接而成的(这些小方格我们可以将之编号为1到n)。而我们需要将其划分成两个部分,分别种上不同的作物(即作物A和B),划分必须在某两个小方格之间进行,或者在土地的最左端或最右端,若划分在第i块到第i+1块间进行,则划分后,第1至第i块地种A,剩下的地种B。现在有一些专家对土地进行了检测,他们每个人评估了每块土地适合种的作物。请你找到一个合适的...原创 2018-10-24 10:59:54 · 284 阅读 · 0 评论 -
balanced-binary-tree
Given a binary tree, determine if it is height-balanced.For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node never differ ...原创 2018-10-24 10:02:38 · 75 阅读 · 0 评论 -
回文序列
如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序列为回文序列。例如:{1, 2, 1}, {15, 78, 78, 15} , {112} 是回文序列, {1, 2, 2}, {15, 78, 87, 51} ,{112, 2, 11} 不是回文序列。现在给出一个数字序列,允许使用一种转换操作:选择任意两个相邻的数,然后从序列移除这两个数,并用这两个数字的和插入到这两个数之前的位置...原创 2018-10-26 11:09:08 · 333 阅读 · 0 评论 -
两个链表的第一个公共节点
输入两个链表,找出它们的第一个公共结点。 /*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { public ListNode FindF...原创 2018-10-26 10:59:15 · 86 阅读 · 0 评论 -
程序员日
nowcoder是一个程序员,他决定把每年的第256天作为程序员的节日,所以他一直期待着这一天的到来。请实现一款软件,给定一个日期,输出这个日期是该年的第几天。 输入描述:输入数据有多组,每组占一行,数据格式为YYYY-MM-DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。输出描述:对于每组输入数据,输出一行,表示该日期是该年的第几天。...原创 2018-10-19 10:05:20 · 3451 阅读 · 0 评论 -
迷路的牛牛
牛牛去犇犇老师家补课,出门的时候面向北方,但是现在他迷路了。虽然他手里有一张地图,但是他需要知道自己面向哪个方向,请你帮帮他。 输入描述:每个输入包含一个测试用例。每个测试用例的第一行包含一个正整数,表示转方向的次数N(N<=1000)。接下来的一行包含一个长度为N的字符串,由L和R组成,L表示向左转,R表示向右转。 输出描述:输出牛牛最后面向的方向,N表示北,...原创 2018-10-16 15:48:20 · 62 阅读 · 0 评论 -
字母统计
输入一行字符串,计算其中A-Z大写字母出现的次数 输入描述:案例可能有多组,每个案例输入为一行字符串。 输出描述:对每个案例按A-Z的顺序输出其中大写字母出现的次数。示例1输入DFJEIWFNQLEF0395823048+_+JDLSFJDLSJFKK输出A:0B:0C:0D:3E:2F:5G:0H:0I:1J:4K:2L:...原创 2018-10-18 08:55:04 · 131 阅读 · 0 评论 -
NowCoder的遭遇
NowCoder的老家住在工业区,日耗电量非常大。是政府的眼中钉肉中刺,但又没办法,这里头住的可都是纳税大户呀。今年7月,又传来了不幸的消息,政府要在7、8月对该区进行拉闸限电。但迫于压力,限电制度规则不会太抠门,政府决定从7月1日停电,然后隔一天到7月3日再停电,再隔两天到7月6日停电,一次下去,每次都比上一次晚一天。NowCoder可是软件专业的学生,怎么离得开计算机。如果停电,就“英雄无...原创 2018-10-13 22:13:15 · 1187 阅读 · 0 评论 -
数组中重复的数字
在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。 # -*- coding:utf-8 -*-class Solution: # 这里要特别注意~找到任意重复的一...原创 2018-10-13 22:12:09 · 60 阅读 · 0 评论 -
牛牛的游戏
牛牛很喜欢玩接龙游戏,一天他突发奇想,发明了一种叫做“字符串链”的游戏。 这个游戏的规则是这样的,给出3个字符串A,B,C,如果它们满足以下两个条件,那么就可以构成一个“字符串链”: 1.A的最后一个字母和B的第一个字母相同;2.B的最后一个字母和C的第一个字母相同。现在牛牛给出了3个字符串A,B,C,希望你能判断这3个字符串能否构成一个“字符串链”,若能则输出“YES”,否则输出“N...原创 2018-10-12 15:17:36 · 122 阅读 · 0 评论 -
数字颠倒
描述:输入一个整数,将这个整数以字符串的形式逆序输出程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001 输入描述:输入一个int整数输出描述:将这个整数以字符串的形式逆序输出 示例1输入1516000输出0006151num=input()output=''for i in range(...原创 2018-10-12 15:15:31 · 269 阅读 · 0 评论 -
优雅的点
小易有一个圆心在坐标原点的圆,小易知道圆的半径的平方。小易认为在圆上的点而且横纵坐标都是整数的点是优雅的,小易现在想寻找一个算法计算出优雅的点的个数,请你来帮帮他。例如:半径的平方如果为25优雅的点就有:(+/-3, +/-4), (+/-4, +/-3), (0, +/-5) (+/-5, 0),一共12个点。 输入描述:输入为一个整数,即为圆半径的平方,范围在32位int范围内。...原创 2018-10-11 10:17:40 · 75 阅读 · 0 评论 -
词频统计
请设计一个高效的方法,找出任意指定单词在一篇文章中的出现频数。给定一个string数组article和数组大小n及一个待统计单词word,请返回该单词在文章中的出现频数。保证文章的词数小于等于1000。 # -*- coding:utf-8 -*-class Frequency: def getFrequency(self, article, n, word): ...原创 2018-10-11 10:16:58 · 862 阅读 · 0 评论 -
表达式求值
今天上课,老师教了小易怎么计算加法和乘法,乘法的优先级大于加法,但是如果一个运算加了括号,那么它的优先级是最高的。例如: 1 2 3 4 1+2*3=7 1*(2+3)=5 1*2*3=6 (1+2)*3=9 现在小易希望你帮他计算给定3个数a,b,c,在它们中间添加"+", "*", "(", ")"符号...原创 2018-10-11 10:15:43 · 364 阅读 · 0 评论 -
牛牛的闹钟
牛牛总是睡过头,所以他定了很多闹钟,只有在闹钟响的时候他才会醒过来并且决定起不起床。从他起床算起他需要X分钟到达教室,上课时间为当天的A时B分,请问他最晚可以什么时间起床 输入描述:每个输入包含一个测试用例。每个测试用例的第一行包含一个正整数,表示闹钟的数量N(N<=100)。接下来的N行每行包含两个整数,表示这个闹钟响起的时间为Hi(0<=A<24)时Mi(0&l...原创 2018-10-18 08:55:55 · 417 阅读 · 0 评论 -
数字比较
牛牛很喜欢对数字进行比较,但是对于3 > 2这种非常睿智的比较不感兴趣。上了高中之后,学习了数字的幂,他十分喜欢这种数字表示方法,比如xy。由此,他想出了一种十分奇妙的数字比较方法,给出两个数字x和y,请你比较xy和yx的大小,如果前者大于后者,输出">",小于则输出"<",等于则输出"="。 输入描述:两个数字x和y。满足1 <= x,y <= ...原创 2018-10-15 10:43:11 · 329 阅读 · 0 评论 -
暗黑的字符串
一个只包含'A'、'B'和'C'的字符串,如果存在某一段长度为3的连续子串中恰好'A'、'B'和'C'各有一个,那么这个字符串就是纯净的,否则这个字符串就是暗黑的。例如:BAACAACCBAAA 连续子串"CBA"中包含了'A','B','C'各一个,所以是纯净的字符串AABBCCAABB 不存在一个长度为3的连续子串包含'A','B','C',所以是暗黑的字符串你的任务就是计算出长度为n的...原创 2018-10-15 10:59:15 · 208 阅读 · 0 评论 -
统计大写字母个数
找出给定字符串中大写字符(即'A'-'Z')的个数 输入描述:输入一个String数据 输出描述:输出string中大写字母的个数示例1输入add123#$%#%#O输出1 while True: try: s=input() count=0 for i in range(len(s...原创 2018-10-16 15:47:20 · 1658 阅读 · 0 评论 -
小易喜欢的单词
小易喜欢的单词具有以下特性:1.单词每个字母都是大写字母2.单词没有连续相等的字母3.单词没有形如“xyxy”(这里的x,y指的都是字母,并且可以相同)这样的子序列,子序列可能不连续。例如:小易不喜欢"ABBA",因为这里有两个连续的'B'小易不喜欢"THETXH",因为这里包含子序列"THTH"小易不喜欢"ABACADA",因为这里包含子序列"AAAA"小易喜欢"A",&原创 2018-10-09 19:25:00 · 171 阅读 · 0 评论 -
对称的二叉树
请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this....原创 2018-10-09 18:57:52 · 79 阅读 · 0 评论 -
下厨房
牛牛想尝试一些新的料理,每个料理需要一些不同的材料,问完成所有的料理需要准备多少种不同的材料。 输入描述:每个输入包含 1 个测试用例。每个测试用例的第 i 行,表示完成第 i 件料理需要哪些材料,各个材料用空格隔开,输入只包含大写英文字母和空格,输入文件不超过 50 行,每一行不超过 50 个字符。输出描述:输出一行一个数字表示完成所有料理需要多少种不同的材料。示例1...原创 2018-10-09 19:01:57 · 155 阅读 · 0 评论 -
禁忌雷炎
赫柏在绝域之门击败鲁卡斯后,从鲁卡斯身上掉落了一本高级技能书,赫柏打开后惊喜地发现这是一个早已失传的上古技能---禁忌雷炎。该技能每次发动只需扣很少的精神值,而且输出也非常高。具体魔法描述如下:把地图抽象为一个二维坐标,技能发动者位于(0,0)位置。以技能发动者为中心,做一个半径为r的圆,满足r^2=S,如果敌人位于这个圆上,且位置为整点坐标,这个敌人将收到该技能的输出伤害。。例如当S=2...原创 2018-10-09 19:02:58 · 162 阅读 · 0 评论 -
牛牛偶像养成记
为了拯救因入学人数骤降,面临废弃的学校,牛牛决定成为偶像啦。当然,作为一个偶像,肯定是要上台表演的。已知牛牛拿到了n个上台表演的机会,第i次表演的上台时间为ti时刻,需要表演mi这么长的时间。牛牛为了提高自己的知名度,肯定要取得最多的上场次数。请问,牛牛最多能上场多少次呢? 输入描述:第一行输入一个数字n(1≤n≤100000),表示牛牛获得的上台表演的机会接下来n行,每行...原创 2018-10-15 11:06:39 · 156 阅读 · 0 评论 -
童年生活二三事
NowCoder小时候走路喜欢蹦蹦跳跳,他最喜欢在楼梯上跳来跳去。但年幼的他一次只能走上一阶或者一下子蹦上两阶。现在一共有N阶台阶,请你计算一下NowCoder从第0阶到第N阶共有几种走法。 输入描述:输入包括多组数据。每组数据包括一个整数n, (1≤n≤90)。输出描述:对应每个输入包括一个输出。为redraiment到达第n阶不同走法的数量。示例1输入...原创 2018-10-15 11:05:43 · 860 阅读 · 0 评论