![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PAT刷题
在今年的PAT考试之前刷完155道题
Shirandexiaowo
这个作者很懒,什么都没留下…
展开
-
PAT中基础算法
文章目录刷题心得PAT1029中位数考点:二路归并算法PAT1046:最短距离(前缀和)PAT1085:完美序列PAT1091:急性中风PAT1148:狼人杀-简单版(枚举)思路:(千万不要推理,否则很复杂)PAT1051:弹出序列世界首富栈PAT1117:艾丁顿数PAT1044:火星购物 刷题心得 PAT1029中位数 考点:二路归并算法 #include <iostream> #include <cstring> #include <algorithm> using原创 2021-07-07 13:42:10 · 406 阅读 · 0 评论 -
PAT中的链表
文章目录刷题总结存储链表的方式对链表变换方式PAT1032:共享PAT1074:反转链表PAT1097:链表重复数据删除PAT1133:链表元素分类三遍循环三个数组拼接 刷题总结 存储链表的方式 // 数组模拟的方式 h; // 头结点 e[N], ne[N]; // 权值和指针 对链表变换方式 使用数组存储链表变化的地址 总体评价:PAT中的链表题目套路很明显,难度适中。 不需要像LeetCode去优化时间复杂度,考试时只需要好写即可。 PAT1032:共享 #include <iostream&原创 2021-07-04 11:47:18 · 104 阅读 · 0 评论 -
PAT中的贪心
PAT1070:月饼 #include <iostream> #include <cstring> #include <algorithm> using namespace std; const int N = 1010; int n; double m; struct Cake { double p, w; bool operator< (const Cake &t) const { return p / w原创 2021-07-03 22:06:29 · 93 阅读 · 0 评论 -
PAT中的树(下):
PAT1079:供应链总销售额 #include <iostream> #include <cstring> #include <algorithm> #include <cmath> using namespace std; const int N = 100010; int n; double P, R; int p[N], cnt[N], f[N]; int dfs(int u) { if(f[u] != -1) return f[u];原创 2021-07-03 18:40:00 · 100 阅读 · 0 评论 -
PAT中的哈希表
文章目录PAT1048:找硬币哈希表排序+双指针(时间略快)PAT1063:集合相似度PAT1120:朋友数PAT1144:漏掉的数字PAT1149:危险集装箱PAT1078:哈希(开放寻址法)PAT1145:哈希——平均查找时间PAT1137:期终成绩PAT1013:战争中的城市PAT1118:森林中的鸟PAT1107:社会集群 PAT1048:找硬币 哈希表 #include <iostream> #include <cstring> #include <algorithm原创 2021-07-03 14:30:51 · 145 阅读 · 0 评论 -
PAT中的树(中):AVL平衡树、带权树
PAT1110完全二叉树 找到根节点,按照完全二叉树填到数组里面,判断最大的数组下标如果超过了nnn表示有空隙,代表不是一棵完全二叉树 #include <iostream> #include <cstring> #include <algorithm> using namespace std; const int N = 30; int n; int l[N], r[N]; bool has_father[N]; int lastid, maxk; // lastid原创 2021-06-26 14:11:00 · 220 阅读 · 0 评论 -
PAT中的树(上):树的遍历、BST、重建二叉树、
PAT1004叶子结点 树的问题深搜和广搜其实一般都可以,一般深搜会更好写一点,不用开队列 题目输出每层叶子结点数,多以开一个cntcntcnt数组记录一下每层叶子结点数,邻接表存图提高效率 #include <iostream> #include <cstring> #include <algorithm> using namespace std; const int N = 110, M = N * 2; int h[N], e[M], ne[M], idx;//h原创 2021-06-24 12:21:21 · 159 阅读 · 1 评论