08 2018 档案

摘要:题目 题目地址:PAT 乙级 1048 思路 这道题坑的地方在于:即使B的长度小于A,仍然要对B补齐,也就是说最终结果的长度取决于A和B中长度更长的那一项;即只要A、B长度不一致,就要对短的一个进行补齐操作 在补齐过程中解决了之前一直忽略的一个问题——对于string类型的字符串按字符逐个进行赋值, 阅读全文
posted @ 2018-08-30 17:47 moujun 阅读(222) 评论(0) 推荐(0)
摘要:题目 题目地址:PAT 乙级 1045 题解 本题的解法比较巧妙,刚开始的试着用暴力求解,果不其然时间超限…… 变换思路,既然对于每个元素来说满足的条件是前小后大,那么对数组排序,对应的位置相等的即为题设要求的“可能主元”,但是还有一个条件要保证当前是从左向右遍历的最大值;总结一下两个条件:1. 排 阅读全文
posted @ 2018-08-29 23:53 moujun 阅读(245) 评论(0) 推荐(0)
摘要:题目 题目地址:PAT 乙级 1041 题解 这道题学到的东西恰好和1037中学到的东西相互补充,总结如下: 在之前的博文中我曾提到过——“结构体在函数内部对数据的操作不能赋给主函数中的实参,函数内部的变量只是局部变量”,因此当时使用了三种方式解决这个问题:“一是调用结束后将数据返回,二是采用全局变 阅读全文
posted @ 2018-08-29 17:41 moujun 阅读(162) 评论(0) 推荐(0)
摘要:这段时间在刷题过程中遇到一个cin和getline混合使用中的问题,解决之后记录如下: 先来看一段代码 这是一段很简单的测试代码,结果应该也是可以预期的,但结果仍然有些奇怪的地方 这里没有结果的输出是怎么回事? 我们先看下cin>>与getline的工作方式,流提取运算符根据它后面的变量类型读取数据 阅读全文
posted @ 2018-08-28 23:05 moujun 阅读(654) 评论(0) 推荐(0)
摘要:题目 题目地址:PAT 乙级 1037 题解 本题有两个版本的代码,初版因为种种问题写得比较繁琐,具体的分析见后文,更新的之后的版本相对来说要好很多,代码也比较清晰简洁。 初版的代码主要有如下几方面的问题: 1. 代码繁琐,把简单的问题复杂化。 2. 刷题一直在用C++,虽说C和C++相似,但是思路 阅读全文
posted @ 2018-08-18 19:05 moujun 阅读(274) 评论(0) 推荐(0)
摘要:题目 题目地址:PAT 乙级 1033 题解 本题一直有一分的样例点过不了,原因在于用了cin接收输入的字符…… 问题在于:如果用cin输入,无法接收无坏键的情况的输入,需要getline作为输入;这就涉及到cin和getline的不同,这一部分我看到一篇博文写得很好,就直接粘过来,先贴出原博文的地 阅读全文
posted @ 2018-08-17 18:22 moujun 阅读(336) 评论(0) 推荐(0)
摘要:题目 题目地址:PAT 乙级 1027 思路 本题需要注意两点: 1. 对于每行输出字符的循环和判断没有完全搞清楚,导致在4 * 的条件下会输出7个字符,n的结果是-3。 2. 没有考虑到小于等于0的情况,题目给出的数据范围是(<=1000),因此完全可能存在小于等于0的情况,但是在最初没有考虑。 阅读全文
posted @ 2018-08-15 12:21 moujun 阅读(244) 评论(0) 推荐(0)
摘要:素数是除了1和它本身这两个数之外再没有可以整除的除数,为减少时间复杂度,可以只对2~√x 之间的数除x就可以判断是否为素数。 代码 阅读全文
posted @ 2018-08-14 18:12 moujun 阅读(143) 评论(0) 推荐(0)