自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wowpH

Not Simple Java - LeetCode - PTA - OJ - Algorithm - Qun:793467972

  • 博客(38)
  • 问答 (3)
  • 收藏
  • 关注

原创 Eclipse Block Selection(块选择)快捷键 Alt + Shift + A

Eclipse,快捷键,Alt + Shift + A,视频。

2019-08-31 15:50:10 1124

原创 PAT(B) 1090 危险品装箱(Java)

集装箱运输货物时,我们必须特别小心,不能把不相容的货物装在一只箱子里。比如氧化剂绝对不能跟易燃液体同箱,否则很容易造成爆炸。本题给定一张不相容物品的清单,需要你检查每一张集装箱货品清单,判断它们是否能装在同一只箱子里。输入格式输入第一行给出两个正整数:N (≤10​4​​) 是成对的不相容物品的对数;M (≤100) 是集装箱货品清单的单数。随后数据分两大块给出。第一块有 N 行,每行给出一对不相容的物品。第二块有 M 行,每行给出一箱货物的清单,格式如下:K G[1]

2019-08-30 20:43:16 1064

原创 PAT(B) 1085 PAT单位排行(Java:20分)

题目描述每次 PAT 考试结束后,考试中心都会发布一个考生单位排行榜。本题就请你实现这个功能。输入格式输入第一行给出一个正整数 N(≤10​5​​),即考生人数。随后 N 行,每行按下列格式给出一个考生的信息:准考证号 得分 学校其中准考证号是由 6 个字符组成的字符串,其首字母表示考试的级别:B代表乙级,A代表甲级,T代表顶级;得分是 [0, 100] 区间内的整数;学校是由不超过 6 个英文字母组成的单位码(大小写无关)。注意:题目保证每个考生的准考证号是不同的。

2019-08-29 21:34:13 265 1

原创 我在LeetCode的首次刷题

感受,LeetCode,刷题,体会。

2019-08-29 17:45:10 278 6

原创 PAT(B) 1075 链表元素分类(Java)

题目链接:1075 链表元素分类 (25 point(s))题目描述给定一个单链表,请编写程序将链表元素进行分类排列,使得所有负值元素都排在非负值元素的前面,而 [0, K] 区间内的元素都排在大于 K 的元素前面。但每一类内部元素的顺序是不能改变的。例如:给定链表为 18→7→-4→0→5→-6→10→11→-2,K 为 10,则输出应该为 -4→-6→-2→7→0→5→10→18→11。...

2019-08-28 18:31:40 335

原创 PAT(B) 1070 结绳(Java)

题目链接:1070 结绳 (25 point(s))题目描述给定一段一段的绳子,你需要把它们串成一条绳。每次串连的时候,是把两段绳子对折,再如下图所示套接在一起。这样得到的绳子又被当成是另一段绳子,可以再次对折去跟另一段绳子串连。每次串连后,原来两段绳子的长度就会减半。给定 N 段绳子的长度,你需要找出它们能串成的绳子的最大长度。输入格式每个输入包含 1 个测试用例。每个测试用例第 1...

2019-08-27 22:07:49 211 1

原创 PAT(B) 1065 单身狗(Java:17分,C:25分)

题目描述“单身狗”是中文对于单身人士的一种爱称。本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱。输入格式输入第一行给出一个正整数 N(≤ 50 000),是已知夫妻/伴侣的对数;随后 N 行,每行给出一对夫妻/伴侣——为方便起见,每人对应一个 ID 号,为 5 位数字(从 00000 到 99999),ID 间以空格分隔;之后给出一个正整数 M(≤ 10 000),为参加派对的总人数;随后一行给出这 M 位客人的 ID,以空格分隔。题目保证无人重婚或脚踩两条船。输出格式

2019-08-27 20:12:39 640

原创 PAT(B) 1060 爱丁顿数(Java:21分)

题目链接:1060 爱丁顿数 (25 point(s))题目描述英国天文学家爱丁顿很喜欢骑车。据说他为了炫耀自己的骑车功力,还定义了一个“爱丁顿数” E ,即满足有 E 天骑车超过 E 英里的最大整数 E。据说爱丁顿自己的 E 等于87。现给定某人 N 天的骑车距离,请你算出对应的爱丁顿数 E(≤N)。输入格式输入第一行给出一个正整数 N (≤10​5​​),即连续骑车的天数;第二行给出...

2019-08-26 22:26:39 235

原创 PAT(B) 1055 集体照(Java)

题目描述拍集体照时队形很重要,这里对给定的 N 个人 K 排的队形设计排队规则如下: 每排人数为 N/K(向下取整),多出来的人全部站在最后一排; 后排所有人的个子都不比前排任何人矮; 每排中最高者站中间(中间位置为 m/2+1,其中 m 为该排人数,除法向下取整); 每排其他人以中间人为轴,按身高非增序,先右后左交替入队站在中间人的两侧(例如5人身高为190、188、186、175、170,则队形为175、188、190、186、170。这里

2019-08-26 17:16:41 217

原创 PAT(B) 1050 螺旋矩阵(Java:24分)

题目描述本题要求将给定的 N 个正整数按非递增的顺序,填入“螺旋矩阵”。所谓“螺旋矩阵”,是指从左上角第 1 个格子开始,按顺时针螺旋方向填充。要求矩阵的规模为 m 行 n 列,满足条件:m×n 等于 N;m≥n;且 m−n 取所有可能值中的最小值。输入格式输入在第 1 行中给出一个正整数 N,第 2 行给出 N 个待填充的正整数。所有数字不超过 10​4​​,相邻数字以空格分隔。输出格式输出螺旋矩阵。每行 n 个数字,共 m 行。相邻数字以 1 个空格分隔,行末不得有多余空

2019-08-25 22:10:55 343

原创 PAT(B) 1045 快速排序(C)

题目描述著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边。 给定划分后的 N 个互不相同的正整数的排列,请问有多少个元素可能是划分前选取的主元?例如给定 N=5N = 5N=5, 排列是1、3、2、4、5。则:1 的左边没有元素,右边的元素都比它大,所以它可能是主元;尽管 3 的左边元素都比它小,但其右边的 2 比它小,所以它不能是主元;尽管 2 的右边元素都比它大,但其左边的

2019-08-25 20:42:58 118

原创 PAT(B) 1040 有几个PAT(Java)

题目描述字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位§,第 4 位(A),第 6 位(T);第二个 PAT 是第 3 位§,第 4 位(A),第 6 位(T)。现给定字符串,问一共可以形成多少个 PAT?输入格式输入只有一行,包含一个字符串,长度不超过10​5​​,只包含 P、A、T 三种字母。输出格式在一行中输出给定字符串中包含多少个 PAT。由于结果可能比较大,只输出对 1000000007 取余数的结果。

2019-08-24 20:40:27 168

原创 PAT(B) 1035 插入与归并(Java)

题目描述根据维基百科的定义:插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列。每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置。如此迭代直到全部元素有序。归并排序进行如下迭代操作:首先将原始序列看成 N 个只包含 1 个元素的有序子序列,然后每次迭代归并两个相邻的有序子序列,直到最后只剩下 1 个有序的序列。现给定原始序列和由某排序算法产生的中间序列,请你判断该算法究竟是哪种排序算法?输入格式输入在第一行给出正整数 N (≤100)

2019-08-24 10:18:46 279

原创 PAT(B) 1067 试密码(Java)

题目链接:1067 试密码 (20 point(s))题目描述当你试图登录某个系统却忘了密码时,系统一般只会允许你尝试有限多次,当超出允许次数时,账号就会被锁死。本题就请你实现这个小功能。输入格式输入在第一行给出一个密码(长度不超过 20 的、不包含空格、Tab、回车的非空字符串)和一个正整数 N(≤ 10),分别是正确的密码和系统允许尝试的次数。随后每行给出一个以回车结束的非空字符串,是用户尝试输入的密码。输入保证至少有一次尝试。当读到一行只有单个 # 字符时,输入结束,并且这一行

2019-08-23 17:01:53 164

原创 PAT(B) 1068 万绿丛中一点红(C)

题目描述对于计算机而言,颜色不过是像素点对应的一个 24 位的数值。现给定一幅分辨率为 M×N 的画,要求你找出万绿丛中的一点红,即有独一无二颜色的那个像素点,并且该点的颜色与其周围 8 个相邻像素的颜色差充分大。输入格式输入第一行给出三个正整数,分别是 M 和 N(≤ 1000),即图像的分辨率;以及 TOL,是所求像素点与相邻点的颜色差阈值,色差超过 TOL 的点才被考虑。随后 N 行,每行给出 M 个像素的颜色值,范围在 [0,2​24​​) 内。所有同行数字间用空格或 TAB 分

2019-08-22 21:34:20 674

原创 PAT(B) 1094 谷歌的招聘(Java)

题目描述2004 年 7 月,谷歌在硅谷的 101 号公路边竖立了一块巨大的广告牌(如下图)用于招聘。内容超级简单,就是一个以 .com 结尾的网址,而前面的网址是一个 10 位素数,这个素数是自然常数 e 中最早出现的 10 位连续数字。能找出这个素数的人,就可以通过访问谷歌的这个网站进入招聘流程的下一步。自然常数 e 是一个著名的超越数,前面若干位写出来是这样的:e = 2.71828182845904523536028747135266249775724709369995957496696

2019-08-21 20:41:12 347 4

原创 PAT(B) 1088 三人行(Java)

题目描述子曰:“三人行,必有我师焉。择其善者而从之,其不善者而改之。”本题给定甲、乙、丙三个人的能力值关系为:甲的能力值确定是 2 位正整数;把甲的能力值的 2 个数字调换位置就是乙的能力值;甲乙两人能力差是丙的能力值的 X 倍;乙的能力值是丙的 Y 倍。请你指出谁比你强应“从之”,谁比你弱应“改之”。输入格式输入在一行中给出三个数,依次为:M(你自己的能力值)、X 和 Y。三个数字均为不超过 1000 的正整数。输出格式在一行中首先输出甲的能力值,随后依次输出甲、乙

2019-08-21 19:52:39 198

原创 PAT(B) 1074 宇宙无敌加法器(Java)

题目描述地球人习惯使用十进制数,并且默认一个数字的每一位都是十进制的。而在 PAT 星人开挂的世界里,每个数字的每一位都是不同进制的,这种神奇的数字称为“PAT数”。每个 PAT 星人都必须熟记各位数字的进制表,例如“……0527”就表示最低位是 7 进制数、第 2 位是 2 进制数、第 3 位是 5 进制数、第 4 位是 10 进制数,等等。每一位的进制 d 或者是 0(表示十进制)、或者是 [2,9] 区间内的整数。理论上这个进制表应该包含无穷多位数字,但从实际应用出发,PAT 星人通常只需要记

2019-08-20 21:54:58 182 3

原创 PAT(B) 1078 字符串压缩与解压(Java)

题目描述文本压缩有很多种方法,这里我们只考虑最简单的一种:把由相同字符组成的一个连续的片段用这个字符和片段中含有这个字符的个数来表示。例如 ccccc 就用 5c 来表示。如果字符没有重复,就原样输出。例如 aba 压缩后仍然是 aba。解压方法就是反过来,把形如 5c 这样的表示恢复为 ccccc。本题需要你根据压缩或解压的要求,对给定字符串进行处理。这里我们简单地假设原始字符串是完全由英文字母和空格组成的非空字符串。输入格式输入第一行给出一个字符,如果是 C 就表示下

2019-08-20 17:43:56 233

原创 PAT(B) 1079 延迟的回文数(Java)

题目描述给定一个 k+1 位的正整数 N,写成 a​k​​⋯a​1​​a​0​​ 的形式,其中对所有 i 有 0≤a​i​​<10 且 a​k​​>0。N 被称为一个回文数,当且仅当对所有 i 有 a​i​​=a​k−i​​。零也被定义为一个回文数。非回文数也可以通过一系列操作变出回文数。首先将该数字逆转,再将逆转数与该数相加,如果和还不是一个回文数,就重复这个逆转再相加的操作,直到一个回文数出现。如果一个非回文数可以变出回文数,就称这个数为延迟的回文数。(定义翻译自 https://en.wiki

2019-08-19 20:07:12 189

原创 PAT(B) 1069 微博转发抽奖(Java)

题目描述小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包。请你编写程序帮助他确定中奖名单。输入格式输入第一行给出三个正整数 M(≤ 1000)、N 和 S,分别是转发的总量、小明决定的中奖间隔、以及第一位中奖者的序号(编号从 1 开始)。随后 M 行,顺序给出转发微博的网友的昵称(不超过 20 个字符、不包含空格回车的非空字符串)。注意:可能有人转发多次,但不能中奖多次。所以如果处于当前中奖位置的网友已经中过奖,则跳过他顺

2019-08-18 22:22:46 187

原创 PAT(B) 1062 最简分数(Java)

题目描述一个分数一般写成两个整数相除的形式:N/M,其中 M 不为0。最简分数是指分子和分母没有公约数的分数表示形式。现给定两个不相等的正分数 N​1​​/M​1​​ 和 N​2​​/M​2​​,要求你按从小到大的顺序列出它们之间分母为 K 的最简分数。输入格式输入在一行中按 N/M 的格式给出两个正分数,随后是一个正整数分母 K,其间以空格分隔。题目保证给出的所有整数都不超过 1000。输出格式在一行中按 N/M 的格式列出两个给定分数之间分母为 K 的所有最简分数

2019-08-18 00:03:26 569

原创 PAT(B) 1054 求平均值(Java)

题目描述本题的基本要求非常简单:给定 N 个实数,计算它们的平均值。但复杂的是有些输入数据可能是非法的。一个“合法”的输入是 [−1000,1000] 区间内的实数,并且最多精确到小数点后 2 位。当你计算平均值的时候,不能把那些非法的数据算在内。输入格式输入第一行给出正整数 N(≤100)。随后一行给出 N 个实数,数字间以一个空格分隔。输出格式对每个非法输入,在一行中输出 ERROR: X is not a legal number,其中 X 是输入。最后在一行中输出结果

2019-08-17 17:38:33 213 2

原创 PAT(B) 1059 C语言竞赛(C)

题目描述C 语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛。既然竞赛主旨是为了好玩,颁奖规则也就制定得很滑稽: 冠军将赢得一份“神秘大奖”(比如很巨大的一本学生研究论文集……)。 排名为素数的学生将赢得最好的奖品 —— 小黄人玩偶! 其他人将得到巧克力。给定比赛的最终排名以及一系列参赛者的 ID,你要给出这些参赛者应该获得的奖品。输入格式输入第一行给出一个正整数 N(≤10​4​​),是参赛者人数。随后 N 行给出最终排名,每行按排名顺序给出一

2019-08-16 20:38:15 123

原创 PAT(B) 1053 住房空置率(Java)统计

题目描述在不打扰居民的前提下,统计住房空置率的一种方法是根据每户用电量的连续变化规律进行判断。判断方法如下: 在观察期内,若存在超过一半的日子用电量低于某给定的阈值 e,则该住房为“可能空置”; 若观察期超过某给定阈值 D 天,且满足上一个条件,则该住房为“空置”。现给定某居民区的住户用电量数据,请你统计“可能空置”的比率和“空置”比率,即以上两种状态的住房占居民区住房总套数的百分比。输入格式输入第一行给出正整数 N(≤1000),为居民区住房总套数;正实

2019-08-15 20:57:03 133

原创 Java正则表达式获取中括号之间的内容

正则表达式,中括号,Java,转义字符,特殊字符,不包含括号,包含括号,代码。

2019-08-15 15:48:43 21329

原创 PAT(B) 1052 卖个萌(Java:0分 待解决,C:20分)

题目描述萌萌哒表情符号通常由“手”、“眼”、“口”三个主要部分组成。简单起见,我们假设一个表情符号是按下列格式输出的:[左手]([左眼][口][右眼])[右手]现给出可选用的符号集合,请你按用户的要求输出表情。输入格式输入首先在前三行顺序对应给出手、眼、口的可选符号集。每个符号括在一对方括号 []内。题目保证每个集合都至少有一个符号,并不超过 10 个符号;每个符号包含 1 到 4 个非空字符。之后一行给出一个正整数 K,为用户请求的个数。随后 K 行,每行给出一

2019-08-09 14:10:10 404

原创 PAT(B) 1049 数列的片段和(C)规律

题目描述给定一个正数数列,我们可以从中截取任意的连续的几个数,称为片段。例如,给定数列 { 0.1, 0.2, 0.3, 0.4 },我们有 (0.1) (0.1, 0.2) (0.1, 0.2, 0.3) (0.1, 0.2, 0.3, 0.4) (0.2) (0.2, 0.3) (0.2, 0.3, 0.4) (0.3) (0.3, 0.4) (0.4) 这 10 个片段。给定正整数数列,求出全部片段包含的所有的数之和。如本例中 10 个片段总和是 0.1 + 0.3 + 0.6 + 1

2019-08-08 17:51:02 154

原创 PAT(B) 1048 数字加密(Java)字符串

题目描述本题要求实现一种数字加密方法。首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 13 取余——这里用 J 代表 10、Q 代表 11、K 代表 12;对偶数位,用 B 的数字减去 A 的数字,若结果为负数,则再加 10。这里令个位为第 1 位。输入格式输入在一行中依次给出 A 和 B,均为不超过 100 位的正整数,其间以空格分隔。输出格式在一行中输出加密后的结果。

2019-08-07 21:34:28 167

原创 PAT(B) 1044 火星数字(Java)进制转换

题目描述火星人是以 13 进制计数的:地球人的 0 被火星人称为 tret。地球人数字 1 到 12 的火星文分别为:jan, feb, mar, apr, may, jun, jly, aug, sep, oct, nov, dec。火星人将进位以后的 12 个高位数字分别称为:tam, hel, maa, huh, tou, kes, hei, elo, syy, lok, mer, jou。例如地球人的数字 29 翻译成火星文就是 hel mar;而火星文 elo no

2019-08-06 22:13:39 326

原创 Eclipse设置每行的最大字符数

Eclipse,每行的最大字符数,设置,配置文件

2019-08-06 21:10:51 1415

原创 PAT(B) 1038 统计同成绩学生(C)统计

题目描述本题要求读入 N 名学生的成绩,将获得某一给定分数的学生人数输出。输入格式输入在第 1 行给出不超过 10​5​​ 的正整数 N,即学生总人数。随后一行给出 N 名学生的百分制整数成绩,中间以空格分隔。最后一行给出要查询的分数个数 K(不超过 N 的正整数),随后是 K 个分数,中间以空格分隔。输出格式在一行中按查询顺序给出得分等于指定分数的学生人数,中间以空格分隔,但行末不得有多余空格。

2019-08-06 12:55:14 111

原创 PAT(B) 1072 开学寄语(Java)统计

下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面、理发、整衣,然后思过、读书、锻炼、明智、开悟、精进。而后必成大器也!本题要求你写个程序帮助这所学校的老师检查所有学生的物品,以助其成大器。输入格式输入第一行给出两个正整数 N(≤ 1000)和 M(≤ 6),分别是学生人数和需要被查缴的物品种类数。第二行给出 M 个需要被查缴的物品编号,其中编号为 4 位数字。随后 N 行,每行给出一位学生的

2019-08-03 16:52:29 172

原创 PAT(B) 1057 数零壹(Java)字符串

题目描述给定一串长度不超过 10​5​​ 的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N 的二进制表示中有多少 0、多少 1。例如给定字符串 PAT (Basic),其字母序号之和为:16+1+20+2+1+19+9+3=71,而 71 的二进制是 1000111,即有 3 个 0、4 个 1。输入格式输入在一行中给出长度不超过 10​5​​、以回车结束的字符串。输出格式在一行中先后输出 0

2019-08-03 12:54:19 197

原创 PAT(B) 1092 最好吃的月饼(C)统计

题目描述月饼是久负盛名的中国传统糕点之一,自唐朝以来,已经发展出几百品种。若想评比出一种“最好吃”的月饼,那势必在吃货界引发一场腥风血雨…… 在这里我们用数字说话,给出全国各地各种月饼的销量,要求你从中找出销量冠军,认定为最好吃的月饼。输入格式输入首先给出两个正整数 N(≤1000)和 M(≤100),分别为月饼的种类数(于是默认月饼种类从 1 到 N 编号)和参与统计的城市数量。接下来 M 行,每行给出 N 个非负整数(均不超过 1 百万),其中第 i 个整数为第 i 种月

2019-08-02 21:28:42 330

原创 PAT(B) 1083 是否存在相等的差(Java)统计

题目描述给定 N 张卡片,正面分别写上 1、2、……、N,然后全部翻面,洗牌,在背面分别写上 1、2、……、N。将每张牌的正反两面数字相减(大减小),得到 N 个非负差值,其中是否存在相等的差?输入格式输入第一行给出一个正整数 N(2 ≤ N ≤ 10 000),随后一行给出 1 到 N 的一个洗牌后的排列,第 i 个数表示正面写了 i 的那张卡片背面的数字。输出格式按照“差值 重复次数”的格式从大到小输出重复的差值及其重复的次数,每行输出一个结果。

2019-08-01 21:52:22 151

原创 PAT(B) 1084 外观数列(Java)

题目描述外观数列是指具有以下特点的整数序列:d, d1, d111, d113, d11231, d112213111, …它从不等于 1 的数字 d 开始,序列的第 n+1 项是对第 n 项的描述。比如第 2 项表示第 1 项有 1 个 d,所以就是 d1;第 2 项是 1 个 d(对应 d1)和 1 个 1(对应 11),所以第 3 项就是 d111。又比如第 4 项是 d113,其描述就是 1 个 d,2 个 1,1 个 3,所以下一项就是 d11231。当然这个定义对 d =

2019-08-01 13:18:36 284

原创 PAT(B) 1077 互评成绩计算(Java)

题目描述在浙大的计算机专业课中,经常有互评分组报告这个环节。一个组上台介绍自己的工作,其他组在台下为其表现评分。最后这个组的互评成绩是这样计算的:所有其他组的评分中,去掉一个最高分和一个最低分,剩下的分数取平均分记为 G​1​​;老师给这个组的评分记为 G​2​​。该组得分为 (G​1​​+G​2​​)/2,最后结果四舍五入后保留整数分。本题就要求你写个程序帮助老师计算每个组的互评成绩。输入格式输入第一行给出两个正整数 N(> 3)和 M,分别是分组数和满分,均不超过 100。随后 N

2019-08-01 10:31:24 334

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除