![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PAT刷题记录
文章平均质量分 53
YTALIIEN
今天也学习了吗
展开
-
PAT A1029 Median
题目大概意思就是需要实现合并两个给出的递增序列为一个新递增序列,然后取中值。解题思路很清晰也很简明的题目,解决的方法也能很简单,归并排序里的合并步骤,或是暴力方法都很容易解决。暴力方法简单直观的方法直接将S1和S2放入S3中,然后使用强大的algorithm库的sort排序之后直接可以得到结果。这个方法不需要S1,S2是否有序,反正也要再次排序,复杂度不变#include<cstdio>#include<algorithm>using namespace std;.原创 2022-03-22 10:30:30 · 152 阅读 · 0 评论 -
PAT A1041 Be Unique
直接上解析和自己的题解以及优化题意理解其实就是一个散列问题,只需要将每一次出现的数字进行次数统计,最后再按照输入顺序进行判断输出即可。次数统计可以开一个数组进行hash,重要的是如何实现按照输入顺序判断输出。我的解法#include<cstdio>#include<algorithm>using namespace std;int N;struct hashtable{ int number; int count; int index;}h.原创 2022-03-04 22:09:02 · 183 阅读 · 0 评论 -
PATDay5---记录
这里写目录标题A1046 Shortest Distance读题说明时间复杂度解决办法感悟B1010 一元多项式求导读题说明A1065 A+B and C (64bit)部分AC原因探求A1046 Shortest Distance读题说明题目理解本身不困难,英文也容易看懂,一般的解法容易想到,与距离无关,其实就是一个累加问题,因为路径是规划定的,只有左右结点相邻之间有一个距离,所以无需存储结点,只需要按顺序存储距离就可,然后根据顺/逆时针算出两种距离,(sum-顺=逆)#include<c原创 2021-10-24 20:57:22 · 299 阅读 · 0 评论 -
PATDay3记录
PATDay3B1018锤子剪刀布题目分析AC代码B1018锤子剪刀布题目分析1、将字母转化为数字进行比较,这里按照字典序刚好可以实现2、注意字符输入scanf会吸收回车,因此可以在每一次循环的scanf前加一个getchar()将回车吸收掉。否则格式错误3、这里需要分析共九种胜负情况,实际上是成对出现,甲输乙赢。因此主要判断三种情况,甲胜== 乙败 ,平 , 甲败 ==乙胜。4、最后还需要统计三种胜利的最大那个,考虑字典序,可以用一个数组来存储三种手势胜利的次数,然后返回最大的。同等情况返回原创 2021-10-22 21:29:19 · 169 阅读 · 0 评论 -
PATDay2
Day2B1026--程序运行时间问题注意点收获与思考B1008--数组元素循环右移问题问题注意点B1012--数字分类问题注意点B1026–程序运行时间问题注意点四舍五入如何处理,可以使用round函数,也可以直接判断输出格式需要注意不能使用 %md 这种格式,需要用%0md ,需要再不足两位时使用0占位AC代码:#include<cstdio>using namespace std;int main(){ int C1,C2; scanf("%d%d原创 2021-10-21 21:19:15 · 128 阅读 · 0 评论 -
PATDay1----1016整理
首先给出我自己的代码实现#include<cstdio>#include<cmath>using namespace std;int same(int num,int d){ int p=0; int i=0; while(1) { int temp=0; temp=num%10; num=(num-temp)/10; //这道题目重点在于如何获取一个整数的各个位,这里使用求.原创 2021-10-20 10:07:27 · 194 阅读 · 0 评论