【PAT】PAT总结《散列、排序、二分、贪心》

这篇博客总结了PAT考试中涉及的散列、排序、二分查找和贪心策略的题目。散列方面,强调了根据不同题目需求选择合适的数据结构,并举例说明。排序部分,博主提到了多种水题,同时提醒注意平均分的处理和并列排名。二分查找在某些题目中有应用。贪心策略方面,博主认为这是一种证明最优解的方法,并推荐了一些经典题目供读者练习。
摘要由CSDN通过智能技术生成

散列

这个真的很简单了,就是开个数组存一存。基本都是水题。其实这些题,很多有许多更好的方法,在这些题里使用散列实际上是一种暴力做法,对于输入比较小的题目可行。
拿到一道题,我们要思考它是要求不重复,还是求数量相关这些角度来考虑开布尔数组还是实型数组计数。有的题目可能要求按顺序输出不重复输出,像这类问题我们只需要多开几个布尔数组标记就可解决问题。
对于字符串类的题目,我们一般开长度为256的标记数组或者计数数组,即使题目说明某些字符不出现也没有关系,只要我们对开的散列进行正确的初始化,多开并不会影响程序的正确性。对于一些题目,可能跟坏键相关的,需要对大小写字母进行处理,因为键盘上没有两个"A"键。
总而言之,我们考虑题目需要什么,然后开相应的散列,必要时要做一些转化和映射处理。转化如上面提到的大小写之间的处理,可以统一处理成大写字母或者小写字母。映射处理比如八皇后问题里,直线的b值可能是负数,那我们可以加一个偏移量将其全部映射到正数上。

A1120 Friend Numbers

A1120 Friend Numbers
送分,会求数字各个位数数字就行。因为输入在10^4以内,所以最大各位和是36。

A1041 Be Unique

A1041 Be Unique
求序列中第一个唯一出现的数字。

A1050 String Subtraction

A1050 String Subtraction
从一个字符串中删去某些字符。

A1084 Broken Keyboard

A1084 Broken Keyboard
概述里提到的,要转化大小写字母,其他没有什么了。

A1092 To Buy or Not to Buy

A1092 To Buy or Not to Buy
这道题要注意珠子只要缺了任何一个都不可行,即使有别的珠子剩余,所以要分开计数。

A1121 Damn Single

A1121 Damn Single
姥姥怕是对单身狗有什么误解。找出在宴会中本身是单身的或者配偶不在party中的即可。最后再排序输出。

A1144 The Missing Number

A1144 The Missing Number
这题可以考虑使用分块思想进行优化,这样可以遍历块,先找出有缺失的块(注意最后一块的尺寸可能和其他块不一样),再在块内遍历寻找缺失的最小正数。

A1149 Dangerous Goods Packaging

A1149 Dangerous Goods Packaging
稍微值得看一下,这题很容易想到并查集,其实不是。

A1128 N Queens Puzzle

A1128 N Queens Puzzle
经典八皇后问题,看来PAT还是会考一些经典问题。这题主要是利用散列存储各条直线(包括横轴线、纵轴线、正对角线、反对角线)上是否有棋子,如果一条线上重复出现棋子,则说明摆放不合法。

排序

这类题基本都是水题,PAT中其实很多类型真是送分题,算法都不需要用的。注意题目给的排序优先级,相同分数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值