排序
Michael_XCH
这个作者很懒,什么都没留下…
展开
-
PAT 1095 Cars on Campus
这一题基本算是PAT里面最难的排序题。它需要考虑的问题非常多,例如从一开始的结构体的设置,是应该考虑用record记录,还是用car存储信息。然后就会意识到后面要比较query的时间,所以还是用record记录比较方便。同时可以用map数据类型来存储car所停放的时间。算法步骤:建立结构体编写比较函数,分别比较record时间和car停放时间编写时间转换函数(用于比较时间)将输入数据存...原创 2020-01-16 09:29:49 · 67 阅读 · 0 评论 -
PAT 1080 Graduate Admission
这一题信息量比较大,不仅要对学生成绩进行排序,还要对学校所收录的学生id进行排序。另外,还要考虑到名次相同的学生必须被一块录取。算法步骤:建立结构体编写比较函数将输入数据存储到数组中排序记录学生名次遍历学生的选择,如果目标学校有名额,则互相选择,如果没有名额,则比较该学生选择的学校和前一个学生的录取学校,若两者一致,则将该学生分配给该学校按次序输出学校录取名单关键点:学校...原创 2020-01-15 16:50:23 · 66 阅读 · 0 评论 -
PAT 1075 PAT Judge
这一题我觉得做起来还比较麻烦,尤其是各种限制条件还比较多。首先要注意的是ID是连续的,不是像其他排序题那样随意给出,另外你要考虑到没submit答案的数据和submit但没complier成功的数据是不同的。尽管题目中说到题目都没有submit和submit但没complier成功的用户都是不允许出现在list里面,但是只要用户submit答案,那么他的记录就不会出现“-”的情况,所以说这两者并不...原创 2020-01-15 10:54:56 · 166 阅读 · 0 评论 -
PAT 1016 Phone Bills
这一道题我是按着算法笔记上面来写的。题目信息比较繁杂,经过思考后我觉得可以分为以下几个步骤来写:建立结构体存储record记录。(基础) 对record的数组按照一定规则进行排序。(基础) 设置标志分割出同一个用户的所有record。(提高) 筛选不符合同时拥有上线和下线的记录。(难点) 在同一个用户所有符合条件的record遍历相邻的record。(提高) 根据分时段计费准确求...原创 2020-01-12 22:57:04 · 75 阅读 · 0 评论 -
PAT 1055 The World's Richest
这一题是比较普通的排序题,然而我在第一次做的时候,发现出现超时的情况。于是我又重新审查了一遍题目,发现了一条比较关键信息,就是输出的数据不能超过100条,这也是整道题的突破点。算法步骤:建立结构体 编写比较函数 新建结构体数组来存储并进行排序 筛选出每个年龄段前100个人,并将这些数据存储到另一个结构体数组中 针对每次query,循环遍历出符合条件的数据 处理输出数据为0条...原创 2020-01-14 18:24:16 · 126 阅读 · 0 评论 -
PAT 1062 Talent and Virtue
这一题是比较简单的排序题,难点在于如何对 sage、nobleman、fool men进行排序。一开始我的想法是用多个数组进行分别存储,但是操作起来就变得繁琐,于是我看了别人的解法,设置标志就能轻松解决。算法步骤:建立结构体编写比较函数(注意对标志进行比较)将输入数据存储到结构体数组中同时对每一条数据设置标记对数组进行排序输出符合条件的数据在设置标记的过程中,我写的方法比较繁琐...原创 2020-01-14 21:18:08 · 133 阅读 · 0 评论