
PAT(Advance Level)
bxg1065283526
希望现在开始为时不晚,努力一定会有收货
展开
-
1123. Is It a Complete AVL Tree
思路:首先要构造一个平衡二叉树,构造方法之前文章已经讲过,之后是检查是不是一个完全二叉树,采用层次遍历的方法,利用了辅助队列,如果一个结点不是叶子结点,我们将当前结点出队,将其孩子入队;如果一个结点是叶子结点,我们直接将其出队即可。如何判断一棵二叉树是否是完全二叉树?1)如果一个结点有右孩子而没有左孩子,那么这棵树一定不是完全二叉树。 2)如果一个结点有左孩子,而没有右孩子,那么按照层序遍历的结果...原创 2018-03-16 16:50:27 · 118 阅读 · 0 评论 -
1119. Pre- and Post-order Traversals
思路:参考点击打开链接 已知前序遍历和后序遍历序列,是无法确定一棵二叉树的,原因在于如果只有一棵子树可能是左孩子也有可能是右孩子。由于只要输出其中一个方案,所以假定为左孩子即可。下面就是如何根据前序和后序划分出根节点和左右孩子,这里需要定义前序和后序的区间范围,分别为[preL,preR],[postL,postR]。 一开始区间都为[1,n],可以发现前序的第一个和后...原创 2018-03-14 20:52:40 · 177 阅读 · 0 评论 -
1068. Find More Coins
1068. Find More Coins (30)时间限制150 ms内存限制32000 kB代码长度限制16000 B判题程序Standard作者CHEN, YueEva loves to collect coins from all over the universe, including some other planets like Mars. One day she visited a...转载 2018-03-11 21:32:00 · 129 阅读 · 0 评论 -
1067. Sort with Swap(0,*)
思路1:一开始很容易想到将0零与零所在下标数相交换,但是若正常做会发生超时,因为需要查找0所在位置下标数在数组的位置即题目中一开始0位置所在的下标为7,则需要在数组中找到7,然后把0与7交换,然后0的下标为2,如此递归下去,当0回到了下标0的位置,则需要找到一个没有交换的位置,与0相交换,这一步没有使得一个数回到正确位置上,但必须要执行。#include<iostream>#incl...原创 2018-03-11 16:39:47 · 182 阅读 · 0 评论 -
1076. Forwards on Weibo
思路:该题跟六度空间十分相似,使用广度优先遍历,难点是确定层数,是在每层用tail变量记录每层最后一个结点,如果当前结点与tail相等说明该层已经遍历完。#include<iostream>#include<queue>#define MaxNum 1001using namespace std;int N, L, K;int Map[MaxNum][MaxNum...原创 2018-03-11 14:54:45 · 256 阅读 · 0 评论 -
1025. 反转链表
思路:利用二维数组存储其数据及下一个结点的值,并且单独开一个数组用于翻转,由于数组较大,这是典型的牺牲空间换时间,利用数组的下标能够很容易找到其下一个值。具体翻转是使用了<algorithm>头文件下的reverse函数 ,用于反转在[first,last)范围内的顺序template <class BidirectionalIterator>void reverse (B...原创 2018-03-10 16:52:08 · 137 阅读 · 0 评论 -
1004. Counting Leaves
思路:该题存储时将id对应的儿子节点存储在vector中,利用深度优先搜索对每个节点进行遍历,知道找到该id下没有儿子节点,说明该结点为叶子结点,传递参数时有一个参数level,每一次执行一次DFS,说明层数加一。Counter记录某一层叶子结点的个数。#include<iostream>#include<algorithm>#include<map>#i...原创 2018-03-08 19:27:07 · 150 阅读 · 0 评论 -
1003. Emergency
思路1:对于此题从原点到目的地进行深度优先搜索,搜索同时更新当前路径的长度和可以召集的队伍数,到达终点后,记录路径长度,若与最小路径长度相等,最短路径个数计数器增加,若队伍数更大则更新队伍数。值得注意的,在遍历过程中需要剪枝,否则会超时,如果遍历过程中的路径长度已经比当前的最短路径长,则没有继续搜索下去。#include<iostream>#define Maxnum 501#in...原创 2018-03-07 23:00:24 · 192 阅读 · 0 评论