PAT刷题(七、Hash散列 双指针)

前言

大学期间项目做了不少,而在算法题方面还是个小白。借着考研机会,把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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值