PAT Basic Level 1001-1010
背景
算法开始练手了。从最简单的做起。
由于实验室用的是Java,为了节省时间,也为了更好的掌握这门语言,我先用Java来实现了。在并非以比赛为目的的前提下,这并不妨碍什么,唯一的可能就是没有足够的参考代码咯。:(话说,自己也并不是特别喜欢一些“简洁”的代码。我现在的手速是不快,但过于简介的南与维护的代码,也不在我的目标之列。
资料
我把所有AC过的解题代码都贴到了我的github上,可以直接去那边儿看,就不贴到blog里啦。(确切的说,这个博客本身就是在github里,不是么:))
总结:
1001:第一次用Java在PAT上提交,遇到了【返回非零】的问题,两个原因:1.需要去掉package信息;2.程序跑异常也会出现这个问题。
1002:简单的将输入加起来,再对应到的显示出来。
1003:题目像是用自动机构建的字符串?理论基础不够,没想太明白,或许需要个词法分析器? 这里是利用字符串的统计规律计数字符串出现个数的出来的。在识别的过程中,有些小坑需要注意。
1004:求最大最小,想必是一道不能更水的题了=。=
1005:各个元素间互相影响。如果简单的全部计算覆盖数,当然能解出来,但显然不是最优的方法。需要尽量介绍重复计算的过程。感觉解题方式没有美感
1006:转换格式。无坑。
1007:素数相关的题目。按照最原始的素数原理,固然可以解出,但优化的路还很长。参考了这篇博客(《浅析求素数算法》介绍的挺有味道的)的内容。
1008:只要注意别先把所有数据都存到数组,再做操作,就ok了。无坑。
1009:充分利用了Java的String操作,无坑。
1010:有坑。需要考虑将无input的case输出为0 0.花了我很长时间。不想再纠结这个题目本身的正确性了。。
PS:
写代码的速度确实太慢了。得练。一个是敲代码本身的速度。一个是思维的速度。
到现在为止,还没有找到一个顺手的排版工具。此文出自mou,但不知道是不是因为我的姿势不对,对所有格式的支持并非那么完美。有空研究下,好让简陋的排版有脸见人吧。