自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

看见什么心乱

心若有所向往,何惧道阻且长

  • 博客(45)
  • 收藏
  • 关注

原创 1004 Counting Leaves

To prepare for PAT, the judge sometimes has to generate random passwords for the users. The problem is that there are always some confusing passwords since it is hard to distinguish 1 (one) from l (L in lowercase), or 0 (zero) from O (o in uppercase). One

2023-01-03 23:38:36 116 1

原创 7-6 二叉树的基本运算

本习题为二叉树的基本运算练习,要求依次实现如下功能:输入一个使用“括号表示法”表示的二叉树,每个节点的数据为一个字符,请使用二叉链的存储方式构建二叉树B。使用中序遍历法遍历构建的二叉树,输出中序遍历的序列。输出该二叉树的高度(深度),其中,根节点作为第1层。计算该二叉树中所有叶子节点的个数。将该二叉树的左右子树进行交换,生成一个新的二叉树T。将新生成的二叉树 T 使用括号表示法表示,并输出该括号表示法的结果。输入格式:输入一个不带空格的字符串,以换行结尾。输出格式:“中序遍历”输出的

2022-11-22 13:56:04 552

原创 1013 Battle Over Cities

It is vitally important to have all the cities connected by highways in a war. If a city is occupied by the enemy, all the highways from/toward that city are closed. We must know immediately if we need to repair any other highways to keep the rest of the c

2022-11-21 14:51:51 350

原创 7-3 二叉树路径和II

编写程序找出非空二叉树中和最大的路径,二叉树结点为不等于0的整数。本题的“路径”定义为二叉树中的结点序列vi​,...,vj​,序列中前一个结点是后一个结点的父结点,但路径不一定是以根结点为起点,也不一定是以叶结点为终点。路径的和定义为该路径所包含的所有结点的数据值之和。

2022-11-07 15:33:45 344

原创 二叉树路径和(C语言)

编写程序找出二叉树中和最大的路径,二叉树结点为不等于0的整数。本题的“路径”限定为以根结点为起点,以叶结点为终点的路径。路径的和,即该路径所包含的所有结点的数据值之和。

2022-10-27 00:55:29 887

原创 Java引用(强引用和弱引用)

众所周知,Java中是由JVM负责内存的分配和回收,它的优点是使用方便,程序员不用再像使用c那样操心内存,但同时也是它的缺点,不够灵活。为了解决内存操作不灵活这个问题,可以采用弱引用等方法。在JDK1.2以前的版本中,当一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及状态,程序才能使用它。这就像在日常生活中,从商店购买了某样物品后,如果有用,就一直保留它,否则就把它扔到垃圾箱,由清洁工人收走。但有时候情况并不这么简单,你可能会遇到类似以鸡肋一样的物品,食之无味,弃之可惜。

2022-07-08 19:48:59 2539

原创 1098 Insertion or Heap Sort(堆排序解释)(PAT甲级)

堆排序是对选择排序的改进,利用数据结构来排序。1.编写向下过滤函数percDown2.建立最大堆3.每次将堆顶(即最大值)与最后一个元素交换,然后“抛弃”最后一个元素,知道将最大堆转换成升序数组我们根据父节点和子节点的大小关系来判断是否需要交换父子结点,使得满足最大堆序。由于最大堆一定是完全二叉树,所以我们可以用数组存储数据。由于需要满足每个父节点都比起子节点大,自然的想到,从最后一个父节点开始做判断。那么传入的第一个父节点的下标就是(len / 2 - 1) 其中len是数组长度。 如上图所示,我们找到

2022-06-23 16:33:59 535

原创 7-13 地下迷宫探索(邻接表)

地道战是在抗日战争时期,在华北平原上抗日军民利用地道打击日本侵略者的作战方式。地道网是房连房、街连街、村连村的地下工事,如下图所示。我们在回顾前辈们艰苦卓绝的战争生活的同时,真心钦佩他们的聪明才智。在现在和平发展的年代,对多数人来说,探索地下通道或许只是一种娱乐或者益智的游戏。本实验案例以探索地下通道迷宫作为内容。假设有一个地下通道迷宫,它的通道都是直的,而通道所有交叉点(包括通道的端点)上都有一盏灯和一个开关。请问你如何从某个起点开始在迷宫中点亮所有的灯并回到起点?输入格式:输入第一...

2022-06-09 14:31:57 132

原创 7-5 哲哲打游戏

哲哲是一位硬核游戏玩家。最近一款名叫《达诺达诺》的新游戏刚刚上市,哲哲自然要快速攻略游戏,守护硬核游戏玩家的一切!为简化模型,我们不妨假设游戏有N个剧情点,通过游戏里不同的操作或选择可以从某个剧情点去往另外一个剧情点。此外,游戏还设置了一些存档,在某个剧情点可以将玩家的游戏进度保存在一个档位上,读取存档后可以回到剧情点,重新进行操作或者选择,到达不同的剧情点为了追踪硬核游戏玩家哲哲的攻略进度,你打算写一个程序来完成这个工作。假设你已经知道了游戏的全部剧情点和流程,以及哲哲的游戏操作,请你输出哲...

2022-06-02 23:20:47 108

原创 城市间紧急救援 (邻接表c++)

作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候,你的任务是带领你的救援队尽快赶往事发地,同时,一路上召集尽可能多的救援队。输入格式:输入第一行给出4个正整数N、M、S、D,其中N(2≤N≤500)是城市的个数,顺便假设城市的编号为0 ~(N−1);M是快速道路的条数;S是出发地的城市编号;D是目的地的城市编号。第二行给出N个..

2022-05-24 10:20:36 164

原创 7-4 网红点打卡攻略(dfs)

一个旅游景点,如果被带火了的话,就被称为“网红点”。大家来网红点游玩,俗称“打卡”。在各个网红点打卡的快(省)乐(钱)方法称为“攻略”。你的任务就是从一大堆攻略中,找出那个能在每个网红点打卡仅一次、并且路上花费最少的攻略。输入格式:首先第一行给出两个正整数:网红点的个数N(1<N≤200)和网红点之间通路的条数M。随后M行,每行给出有通路的两个网红点、以及这条路上的旅行花费(为正整数),格式为“网红点1 网红点2 费用”,其中网红点从 1 到N编号;同时也给出你家到某些网红点的花...

2022-05-24 08:33:25 150

原创 7-7 排座位(邻接表+dfs)

布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位。无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,对任何一对客人,请编写程序告诉主人他们是否能被安排同席。输入格式:输入第一行给出3个正整数:N(≤100),即前来参宴的宾客总人数,则这些人从1到N编号;M为已知两两宾客之间的关系数;K为查询的条数。随后M行,每行给出一对宾客之间的关系,格式为:宾客1 宾客2 关系,其中关系为1表示是朋友,-1表示是死对头。注意两个人不可能既是朋友又是敌人。最后K行,每行给出一对需...

2022-05-17 16:00:38 86

原创 是否完全二叉搜索树

将一系列给定数字顺序插入一个初始为空的二叉搜索树(定义为左子树键值大,右子树键值小),你需要判断最后的树是否一棵完全二叉树,并且给出其层序遍历的结果。输入格式:输入第一行给出一个不超过20的正整数N;第二行给出N个互不相同的正整数,其间以空格分隔。输出格式:将输入的N个正整数顺序插入一个初始为空的二叉搜索树。在第一行中输出结果树的层序遍历结果,数字间以1个空格分隔,行的首尾不得有多余空格。第二行输出YES,如果该树是完全二叉树;否则输出NO。输入样例1:938 45 42 24.

2022-05-04 19:17:06 130

原创 19. 删除链表的倒数第 N 个结点

给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例 2:输入:head = [1], n = 1输出:[ ]示例 3:输入:head = [1,2], n = 1输出:[1]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-nth-node-from-end-of-liststruct...

2022-04-17 23:03:35 358

原创 2. 两数相加(C语言)

2. 两数相加难度中等7873收藏分享切换为英文接收动态反馈给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例 2:输入:l1 = [0], l2 =...

2022-04-12 17:13:00 569

原创 Height of Binary Search Tree (25 分)

You are supposed to write a function of finding the height of a binary search tree with the given postorder sequence.Format of function:int Height_of_BST( int postorder[], int N ); where the postorder sequence is stored inint postorder[], and the ..

2022-04-11 22:32:09 167

原创 7-3 jmu-Java&Python-统计文字中的单词数量并按出现次数排序

现在需要统计若干段文字(英文)中的单词数量,并且还需统计每个单词出现的次数。注1:单词之间以空格(1个或多个空格)为间隔。注2:忽略空行或者空格行。基本版:统计时,区分字母大小写,且不删除指定标点符号。进阶版:统计前,需要从文字中删除指定标点符号!.,:*?。 注意:所谓的删除,就是用1个空格替换掉相应字符。 统计单词时需要忽略单词的大小写。输入说明若干行英文,最后以!!!!!为结束。输出说明单词数量出现次数排名前10的单词(次数按照降序排序,如果次数相同,则按照键值的.

2022-04-01 16:00:33 713

原创 1001 A+B Format (20 分)

Calculatea+band output the sum in standard format -- that is, the digits must be separated into groups of three by commas (unless there are less than four digits).Input Specification:Each input file contains one test case. Each case contains a pair ...

2022-03-17 22:13:17 62

原创 7-2 jmu-Java&Python-统计一段文字中的单词个数并按单词的字母顺序排序后输出 (10 分)

现需要统计若干段文字(英文)中的不同单词数量。如果不同的单词数量不超过10个,则将所有单词输出(按字母顺序),否则输出前10个单词。注1:单词之间以空格(1个或多个空格)为间隔。注2:忽略空行或者空格行。注3:单词大小写敏感,即'word'与'WORD'是两个不同的单词 。输入说明若干行英文,最后以!!!!!为结束。输出说明不同单词数量。 然后输出前10个单词(按字母顺序),如果所有单词不超过10个,则将所有的单词输出。输入样例Failure is probably the.

2022-03-11 23:11:18 419

原创 7-5 jmu-Java-05集合(泛型)-10-GeneralStack (15 分)

以前定义的IntegerStack接口,只能用于存放Integer类型的数据。然而对于栈来说,不管内部存放的是什么类型的数据,基本操作与元素的具体类型无关。1. 编写一个通用的GeneralStack接口,接口中的操作对任何引用类型的数据都适用。一旦定义完毕,只能存放一种类型的数据,比如只能存放String或只能存放Integer。GeneralStack接口方法如下:push(item); //如item为null,则不入栈直接返回null。 pop(); //出栈,如为栈为空,则返回.

2022-03-11 21:03:11 810

原创 7-1 jmu-Java-05集合-01-ArrayListIntegerStack (15 分)

定义IntegerStack接口,该接口描述了一个存放Integer的栈的常见方法:public Integer push(Integer item); //如item为null,则不入栈直接返回null。否则直接入栈,然后返回item。 public Integer pop(); //出栈,如栈为空,则返回null。 public Integer peek(); //获得栈顶元素,如栈顶为空,则返回null。注意:不要出栈 public boolean empty(); //如过栈为空返回tr.

2022-03-11 21:01:53 668

原创 6-4 jmu-Java-03面向对象基础-clone方法、标识接口、深拷贝 (10 分)

Object的clone方法可以帮助我们克隆对象。现在需编写一个类Car包含:1.属性:private String name;private CarDriver driver;private int[] scores;2.无参构造函数public Car() {}3.方法:@Overridepublic String toString() { return "Car [name=" + name + ", driver=" + driver + ", s.

2022-03-11 20:59:24 1587 1

原创 7-85 点赞狂魔 (25 分)

微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。然而有这么一种人,他们会通过给自己看到的一切内容点赞来狂刷存在感,这种人就被称为“点赞狂魔”。他们点赞的标签非常分散,无法体现出明显的特性。本题就要求你写个程序,通过统计每个人点赞的不同标签的数量,找出前3名点赞狂魔。输入格式:输入在第一行给出一个正整数N(≤100),是待统计的用户数。随后N行,每行列出一位用户的点赞标签。格式为“NameKF1​⋯FK​”...

2022-01-13 00:36:03 115

原创 53. 最大子数组和(c语言)(leetcode)

给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组 是数组中的一个连续部分。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组[4,-1,2,1] 的和最大,为6 。示例 2:输入:nums = [1]输出:1示例 3:输入:nums = [5,4,-1,7,8]输出:23提示:1 <= nums.length <= 105-10...

2022-01-12 22:43:38 345

原创 1013 数素数 (20 分)

令Pi​表示第i个素数。现任给两个正整数M≤N≤104,请输出PM​到PN​的所有素数。输入格式:输入在一行中给出M和N,其间以空格分隔。输出格式:输出从PM​到PN​的所有素数,每 10 个数字占 1 行,其间以空格分隔,但行末不得有多余空格。输入样例:5 27结尾无空行输出样例:11 13 17 19 23 29 31 37 41 4347 53 59 61 67 71 73 79 83 8997 101 103结尾无空行...

2021-12-30 22:32:26 395

原创 1012 数字分类 (20 分)

给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字:A1​= 能被 5 整除的数字中所有偶数的和; A2​= 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算n1​−n2​+n3​−n4​⋯; A3​= 被 5 除后余 2 的数字的个数; A4​= 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位; A5​= 被 5 除后余 4 的数字中最大数字。输入格式:每个输入包含 1 个测试用例。每个测试用例先给出一个不超过 1000 的正整数N,随...

2021-12-30 21:22:12 59

原创 1011 A+B 和 C (15 分)

给定区间 [−231,231] 内的 3 个整数A、B和C,请判断A+B是否大于C。输入格式:输入第 1 行给出正整数T(≤10),是测试用例的个数。随后给出T组测试用例,每组占一行,顺序给出A、B和C。整数间以空格分隔。输出格式:对每组测试用例,在一行中输出Case #X: true如果A+B>C,否则输出Case #X: false,其中X是测试用例的编号(从 1 开始)。输入样例:41 2 32 3 42147483647 ...

2021-12-30 21:10:15 323

原创 1010 一元多项式求导 (25 分)

设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为nxn−1。)输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为0 0。输入样例:3 4 -5 2 6 1 -2 0结尾无空行输出样例:12 3 -10 1 6 0结尾无空行#inclu..

2021-12-30 21:09:01 47

原创 1009 说反话 (20 分)

给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。输出格式:每个测试用例的输出占一行,输出倒序后的句子。输入样例:Hello World Here I Come输出样例:Come I Here World Hello#include&.

2021-12-29 20:43:33 57

原创 1008 数组元素循环右移问题 (20 分)

一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0​A1​⋯AN−1​)变换为(AN−M​⋯AN−1​A0​A1​⋯AN−M−1​)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入格式:每个输入包含一个测试用例,第1行输入N(1≤N≤100)和M(≥0);第2行输入N个整数,之间用空格分隔。输出格式:在一行中输出循环右移M位以后的整数序列,之间用空格分隔,.

2021-12-29 19:21:21 197

原创 1006 换个格式输出整数 (15 分)

让我们用字母B来表示“百”、字母S表示“十”,用12...n来表示不为零的个位数字n(<10),换个格式来输出任一个不超过 3 位的正整数。例如234应该被输出为BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。输入格式:每个测试输入包含 1 个测试用例,给出正整数n(<1000)。输出格式:每个测试用例的输出占一行,用规定的格式输出n。输入样例 1:234结尾无空行输出样例 1:BBSSS1234结尾...

2021-12-28 21:33:14 129

原创 1005 继续(3n+1)猜想 (25 分)

卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对n=3进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对n=5、8、4、2 进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重复计算,因为这 4 个数已经在验证3的时候遇到过了,我们称 5、8、4、2 是被 3“覆盖”的数。我们称一个数列中的某个数n为“关键数”,如果n不能被数列中的其他数字所...

2021-12-28 21:07:00 48

原创 1004 成绩排名 (20 分)

读入n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。输入格式:每个测试输入包含 1 个测试用例,格式为第 1 行:正整数 n第 2 行:第 1 个学生的姓名 学号 成绩第 3 行:第 2 个学生的姓名 学号 成绩 ... ... ...第 n+1 行:第 n 个学生的姓名 学号 成绩其中姓名和学号均为不超过 10 个字符的字符串,成绩为 0 到 100 之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。输出格式:..

2021-12-28 19:32:32 209

原创 1003 我要通过 (20 分)

“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是:字符串中必须仅有P、A、T这三种字符,不可以包含其它字符; 任意形如xPATx的字符串都可以获得“答案正确”,其中x或者是空字符串,或者是仅由字母A组成的字符串; 如果aPbTc是正确的,那么aPbATca也是正确的,其中a、b、c均或者是空字符串,或者是仅由字母...

2021-12-28 19:30:58 47

原创 1002 写出这个数 (20 分)

读入一个正整数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式:每个测试输入包含 1 个测试用例,即给出自然数n的值。这里保证n小于10100。输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。输入样例:1234567890987654321123456789结尾无空行输出样例:yi san wu结尾无空行#include<stdio.h>#includ...

2021-12-28 19:27:25 50

原创 1001 害死人不偿命的(3n+1)猜想 (15 分)

卡拉兹(Callatz)猜想:对任何一个正整数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。卡拉兹在 1950 年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证(3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进展……我们今天的题目不是证明卡拉兹猜想,而是对给定的任一不超过 1000 的正整数n...

2021-12-28 19:25:07 50

原创 关于使用数组下标去重或查重提出疑问

排序算法的若干疑问

2021-12-20 11:34:44 122 1

原创 完美的代价 (40 分)

回文串是一种特殊的字符串,它从左往右读和从右往左读是一样的,有人认为回文串是一种完美的字符串。现在给你一个字符串,它不一定是回文的,请你计算最少的交换次数使得该字符串变成一个回文串。这里的交换指将字符串中两个相邻的字符互换位置。 例如所给的字符串为”mamad”,第一次交换a和d,得到”mamda”,第二次交换m和d,得到”madma”;第三次交换最后面的m和a,得到”madam”。输入格式:第一行是一个整数N(N <= 80),表示所给字符串的长度,第二行是所给的字符串,长度为N且只包含小.

2021-12-19 18:09:20 302

原创 简单计算器 (25 分) (C语言)(堆栈)

简单的两个堆栈函数,夯实基础。

2021-12-18 19:04:06 4522

原创 名人堂与代金券 (25 分)(C语言)(链表实现)

使用链表解决,用水题来复习一下吧

2021-12-17 21:00:44 143

空空如也

空空如也

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

TA关注的人

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