08 2019 档案
摘要:题目链接 https://pintia.cn/problem sets/994805260223102976/problems/994805280074743808 题解 这次再次体会到题意理解的正确性,理解正确的话其实就是用代码实现自己的想法。 难的是,刚开始想错了,然后再去改,这样完全没有思路,
阅读全文
摘要:题目链接 https://pintia.cn/problem sets/994805260223102976/problems/994805280817135616 题解 用数组 存储字母出现次数,数组下标代表字母,数组元素是次数。遍历字符串,统计各字母出现次数,最后遍历 寻找出现次数最多的字母。
阅读全文
摘要:题目链接 https://pintia.cn/problem sets/994805260223102976/problems/994805283241443328 题解 用两个字符串表示两个箱子,一个装有的珠子,一个装想要的珠子。 如果发现两个箱子里都有某个珠子,则把这两个珠子都取出来,重复该操作
阅读全文
摘要:题目链接 https://pintia.cn/problem sets/994805260223102976/problems/994805281567916032 题解 简单的信息录入和查询而已。 根据需求,使用试机座位号作为学生的标识进行信息录入和查询。 作者: "@臭咸鱼" 转载请注明出处:
阅读全文
摘要:题目链接 https://pintia.cn/problem sets/994805260223102976/problems/994805284092887040 题解一 这份代码最后一个点会超时 c++ // PAT BasicLevel 1038 // https://pintia.cn/pr
阅读全文
摘要:题目链接 https://pintia.cn/problem sets/994805260223102976/problems/994805285812551680 题解 啊有个难题(1034)不会,自闭了,来刷个简单题。这题可简单了,注意一个四舍五入就行。 c++ // PAT BasicLeve
阅读全文
摘要:题目链接 https://pintia.cn/problem sets/994805260223102976/problems/994805284923359232 题解 还算简单,就是模拟我们在生活中的计算,但我想应该会有一个通用性较高的方法,下边的代码还是有重复程度较大的代码的。 两个需要注意的
阅读全文
摘要:题目链接 https://pintia.cn/problem sets/994805260223102976/problems/994805288530460672 题解 刚开始没有理解到,如果上档键坏的话,所有大写字母都不行(My bad),后来改代码思路就很乱,甚至还考虑过 和`+`是否输出之类
阅读全文
摘要:题目链接 https://pintia.cn/problem sets/994805260223102976/problems/994805289432236032 题解 用数组的下标表示学校,数组元素表示分数。统计各校分数后,遍历求最大就好了。 做这道题遇到一个 初始化数组元素的问题,具体见htt
阅读全文
摘要:`memset`函数常被我们用来初始化数组,然而有个坑可能会被我们踩到。 静态数组初始化 一般情形是这样的: c++ include int main() { // 静态数组arr int arr[10]; // 将数组所有元素初始化为0 memset(arr,0,sizeof(arr)); //
阅读全文
摘要:我们今天讨论数组名是什么东西,理解它有助于我们进一步理解和使用指针。 因为它涉及到了内存地址。 问题 数组名是什么?含义是什么? 思路 前提 一个值+1之后的变化可以反映出它的意义/含义。 前提的证明 其实不证自明,计算机中就是这样的。 生活中 一个苹果+1,结果是两个,增加了一个苹果。 一箱苹果+
阅读全文
摘要:题目链接 https://pintia.cn/problem sets/994805260223102976/problems/994805290334011392 题解 emmm。对于每个身份证号,判断前17位是否合法,并计算其与对应权重积之和,最后判断校验位是否合法。 c++ // PAT Ba
阅读全文
摘要:题目链接 https://pintia.cn/problem sets/994805260223102976/problems/994805292322111488 题解 emm刚开始思路有点错误,我直接将从小到大排序后的数列首个元素作为数列的最小值,但其实不是,数列第一个元素的不同可能会导致更大的
阅读全文
摘要:题目链接 https://pintia.cn/problem sets/994805260223102976/problems/994805293282607104 题解 这题跟那个德才论(PAT乙级1015)什么的差不多。 因为我用了string和algorithm,所以整个代码实现比较简单。 值
阅读全文
摘要:题目链接 https://pintia.cn/problem sets/994805260223102976/problems/994805292322111488 题解 思路: 可以想到,没有坏键的话就是两个字符串是一样的。所以我们按下标进行比较,发现不一样的就是坏掉的,然后在错误字符串的该位置添
阅读全文
摘要:题目链接 https://pintia.cn/problem sets/994805260223102976/problems/994805295203598336 题解 就只有一个四舍五入需要注意一下,其他的没啥难度,都是简单的运算而已…… 作者: "@臭咸鱼" 转载请注明出处: 欢迎讨论和交流!
阅读全文
摘要:题目链接 https://pintia.cn/problem sets/994805260223102976/problems/994805294251491328 题解 主要有两个内容: 1. 获取第一行(最长行)字符的个数。这个与一般的菱形打印不同,该题的字符不一定用完。 2. 通过循环输出空格
阅读全文
摘要:题目链接 https://pintia.cn/problem-sets/994805260223102976/problems/994805296180871168 题解 第一遍没有全部AC,最后1个测试点没过,原因是题目给的结点中有可能有无效结点,所以需要重新统计结点个数。(参考链接:https:
阅读全文
摘要:题目链接 题解 第一遍也是没有全部AC,有3个测试点没过,原因如下: 1. 没有处理指数为0的情况 2. 指数为正时,没有处理不需补充0而需插入小数点的情况。(经过提示才知道的) 修改后全部都AC了。 整体的思路是获取整数和小数数值部分,然后获取指数,最后进行小数点的移动。 c++ // PAT B
阅读全文
摘要:题目链接 题解 主要就是控制首位不能为0,其他的都很简单,就遍历然后往尾部加数字就好了。 c++ // PAT BasicLevel 1023 // https://pintia.cn/problem sets/994805260223102976/problems/9948052982696345
阅读全文
摘要:题目链接 题解 很容易看出这是个背包(非01背包)问题,直接用贪心求解即可。 需要注意的是,这里涉及到单价的计算,要注意整数计算会损失精度的问题,所以月饼的总价、库存量、单价都使用了double进行定义。 作者: "@臭咸鱼" 转载请注明出处: 欢迎讨论和交流!
阅读全文
摘要:题目链接 题解 很简单,用string保存这个数字,用一个数组保存各数字出现的次数,然后遍历字符串统计各数字个数,最后按照格式输出各位数字的个数。 c++ // PAT BasicLevel 1021 // https://pintia.cn/problem sets/994805260223102
阅读全文
摘要:题目链接 题解 很简单,参考十进制转二进制的方法,除二取余至商为0。 这里要注意:需要处理a+b等于0的情况(参考了,我又没发现边界……My bad,this is not so me.) 作者: "@臭咸鱼" 转载请注明出处: 欢迎讨论和交流!
阅读全文
摘要:题目链接 https://pintia.cn/problem sets/994805260223102976/problems/994805302786899968 题解 根据用户输入或者每次的计算结果,生成大数和小数,然后输出计算过程,一直循环该过程;当结果为0或6174时,循环终止。 刚开始我有
阅读全文
摘要:题目链接 https://pintia.cn/problem sets/994805260223102976/problems/994805306310115328 题解 很简单,遍历两个字符串,找到da或db,然后不断更新pa和pb即可。 c++ // PAT BasicLevel 1016 //
阅读全文
摘要:题目链接 https://pintia.cn/problem sets/994805260223102976/problems/994805304020025344 题解 刚开始做很懵逼,可能并不难吧,但就是感觉做出来的话代码会很不优雅,所以想了半天。 然后把这个题放了会儿,有了思路。现在第3个测试
阅读全文
摘要:题目链接 https://pintia.cn/problem sets/994805260223102976/problems/994805309963354112 题解一 从第一个素数开始找起,输出PM至PN即可 c++ // PAT BasicLevel 1013 // https:
阅读全文
摘要:题目链接 https://pintia.cn/problem sets/994805260223102976/problems/994805308755394560 题解一(部分正确) 这是我的方法,第2个测试点没有过,和正确的代码比较,目前没比较出来错误,可能是我 用错了? 需要注意的点: 1.
阅读全文
摘要:题目链接 https://pintia.cn/problem sets/994805260223102976/problems/994805307551629312 题解 思路比较简单,核心就是定义一个学生的排序规则:将考生分为4类(德和才分数都低于L的直接淘汰),先比较考生的类型,再比较分数或者准
阅读全文
摘要:题目链接 题解一 这道题其实很简单,获取用户输入后,判断数字的位数,根据位数的不同,再获取百位、十位、个位的数字,然后据其进行字符串拼接,最后输出。 啧,太久没有写C++代码了,下面代码里的 可以用string类型的,而且你看完题解二会觉得我是不是傻了。 题解二 这是网上搜到的题解,比题解一好多了。
阅读全文
摘要:题目链接 https://pintia.cn/problem sets/994805260223102976/problems/994805312417021952 题解 很明显这题是考数值范围的, 占4个字节,范围正好是[−231,231]。 两个大的 相加会溢出,而 只保证不比
阅读全文
摘要:题目链接 https://pintia.cn/problem sets/994805260223102976/problems/994805311146147840 题解 就比较简单,判断每个数字是哪种情况,然后进行相应的计算即可。 下面的代码中其实数组是不必要的,每取一个数字就可以直接进行相应计算
阅读全文
摘要:题目链接 https://pintia.cn/problem sets/994805260223102976/problems/994805313708867584 我有点看不懂题目……,在网上找题解后,经测试推导题意发现: 如果输入的式子(一项或多项均可)中的常数是0时,输入是应该有 的。 而导数
阅读全文
摘要:题目链接 查了查网上的题解,情况如下: 一种方法是和我(题解一)一样的 这个方法真的奇葩,并不交换数组元素位置,只是根据n和m改变输出顺序,我个人觉得不可取 参考链接: 这种方法应该是最符合题目要求的,三次逆置法(题解二),感觉很像上学期算法设计与分析考试里的一道题。 参考链接: 还有一个方法,看起
阅读全文
摘要:题目链接 题解一 我的方法如下: 1. 将这一行字符串格式看做: 2. 利用循环输出所有 3. 输出 c++ // PAT BasicLevel 1009 // https://pintia.cn/problem sets/994805260223102976/problems/9948053149
阅读全文
摘要:题目链接 题解一 根据题意,素数对有两个特点:差为2、相邻,所以我们可以从3开始枚举每一对数字,然后再判断它们两个是不是素数。 这道题刚开始还是有一个点超时(TLE)了,主要原因有三点: 1. 枚举方法太low,没有利用偶数不可能是素数这一性质。(题解一已处理) 我刚开始是枚举的是3,5、4,6、…
阅读全文