2023年的AP计算机科学A考试已于2023年5月3日星期三举行完毕,目前CB官网也已经放出了AP计算机科学A考试FRQ真题,今天留求艺留学老师为大家分享一下2023年AP计算机科学A考试FRQ真题及答案讲解,赶紧来看!
今年的FRQ考题相较于往年考题,除第一题暗示比较模糊外,其他的题型还是比较容易找到切入点的,对应难度相较于往年变化不是很大。但由于Q1开始说的不太清晰,不是特别容易一下子想到该用什么方式去做,比较考验同学们对问题的理解能力和转化为代码的能力。
基本上还是考察对于固定算法的应用,Q1使用的counting,Q2使用substring切分字符串,Q3的经典ArrayList remove跳过问题,以及Q4 的二维数组遍历。只要能明白题目含义还是比较容易回答的,但整体难度也体现在同学们对题目的理解上。
FRQ-1
a) 本题考查counting算法的使用,需要同学计算出什么时间开始可以找到对应的FreeBlock,因此应该想到从某一个period开始到结束,应该去寻找对应的符合要求的时间间隔,使用isMinuteFree函数可以计算出当前分钟是否为true,因此需要遍历寻找,直至寻找到符合要求的time gap,并return其起始位置。
b) 第二问比较简单,需要利用a问的findeFreeBlock得到开始时间,直接调用reserveBlock即可。
FRQ-2
第二题是比较容易的class问题,题目中提到需要写两个方法和一个constructor,例子也给的非常清晰,只需要写完之后代入例子计算得到正确结果即可。
FRQ-3
a) 第三题a问属于经典的ArrayList remove 跳过问题,直接写即可,如使用for循环,倒序不需要进行 - - 操作。
b) 这道题目可以采用类似求maximum/minimum的方式写出。
FRQ-4
第四题为二维数组问题,其题目比较容易理解。
a) 问根据题意,可以把底部任意一个candy置换到顶部,本题样例采用row由低到高第一个遇到的candy置换到row 0 的方式书写。
b) 属于行优先遍历,比较不同的是本次从最下面开始遍历到最上面,遇到相同的flavor即可return,因此也考察了string .equals()的使用
【微语】留学是一种经历,更是你人生中不可或缺的一段旅程,在这段旅程中,你将遇见形形色色的人,看透世间百态。