前言
大学期间项目做了不少,而在算法题方面还是个小白。借着考研机会,把PAT甲级刷一遍,同时记录一下心得。主要参考的是柳神的题解,略过了不会考或考的可能性很小的题。如果做法和题解不大一样,就贴一下自己的代码。
1029 Median (25) [two pointers]
思路
emmm,自己看到题目,第一反应就是sort(有点无赖)。。。看到题解注明的方法,就明白了常规做法应该什么样的。
链接
1041 Be Unique (20) [Hash散列]
思路
一个数组按序存储数字,另一个数组存储每个数字出现的次数。
链接
1048 Find Coins (25) [Hash散列]
思路
自己做的时候,是先sort排序,然后用双指针的思路从两端分别查找。看了题解,发现hash散列来做会更快。
链接
1050. String Subtraction (20) [Hash散列]
思路
要理解题意,第二个串不一定只包含大小写字母,总体不难。
链接
1084 Broken Keyboard (20) [Hash散列]
思路
建立两个hash表,一个是用来表示第二个字符串中哪些可以输出,一个是用来表示哪些字符已经输出过。(题解的方法好简洁。。)
小技巧
利用string的find()方法以及toupper()方法。
链接
1089 Insert or Merge (25) [two pointers]
思路
判断插入排序,是先找出按序排序的一段,然后看后面是否一一对应即可。剩下就是归并和插排的实现了。
链接
1092 To Buy or Not to Buy (20) [Hash散列]
思路
挺常规的,也没遇到什么坑~
链接
剩下题目等复试后再刷啦~
剩下的Hash题:1134、1145