在使用Marscode AI进行刷题的时候,AI刷题有“需要一点思路提示”、“给我一些代码提示”、“帮我检查一下代码”以及“单独提问题”的功能。当拿到题目的时候,没有思路的时候,“需要一点思路提示”能够很好的提供一个解决思路。同时可以让大模型生成一个粗略的版本,然后对大模型写的代码进行一个校正。然后运行和提交。一般往往来说大模型的思路不一定正确,需要结合一下自己的想法,考虑一些特殊情况。于是可以把你总结的想法告诉大模型,然后让大模型帮你重新写代码,同时检测和校正一下大模型的代码。如果提交不过去,可以通过“帮我检查一下代码”进行代码修正。以下是我通过AI刷题的案例。
137.园区规划中的最少正方形划分问题。在这道题中,题目大概意思为有一块m*n
的大小区域,然后题目目标是要最少划分为多个正方形区域。通过大模型Marscode AI的思路提示功能,可以得到问题理解、数据结构选择、算法步骤、具体步骤。于是我们结合生成的算法步骤中的特殊情况和一般情况进行分析,发现算法步骤中的结果已经符合题目的要求。如下所示:
1.特殊情况处理:
- 如果m和n相等,那么只需要一个正方形区域即可覆盖整个地皮。
2.一般情况处理:
- 我们可以使用贪心算法来逐步减小地皮的尺寸。
- 每次选择较大的边作为正方形的边长,然后从地皮中减去这个正方形的面积。
- 重复这个过程,直到地皮被完全覆盖。
然后将具体步骤告诉Marscode AI,让其生成具体的代码。具体步骤也就是伪代码如下所示:
-
如果m和n相等,直接返回 1。
-
否则,使用一个循环来处理:
- 每次选择较大的边作为正方形的边长。
- 从地皮中减去这个正方形的面积。
- 更新地皮的尺寸。
- 增加正方形区域的计数。
- 当一边变为 0 时,剩下的部分可以直接用较小的边长来覆盖。
通过这种方式,我们可以逐步减小地皮的尺寸,直到完全覆盖。
于是我们对生成的代码进行修改,然后提交代码即可。总的来说,我觉得利用大模型AI能够通过思路提示以及代码生成的功能,使得我们刷题的效率能够很快的得到提升。