青训营 X 豆包MarsCode 技术训练营 | 实践记录及工具使用 刷题实践选题

3 阅读2分钟

在使用Marscode AI进行刷题的时候,AI刷题有“需要一点思路提示”、“给我一些代码提示”、“帮我检查一下代码”以及“单独提问题”的功能。当拿到题目的时候,没有思路的时候,“需要一点思路提示”能够很好的提供一个解决思路。同时可以让大模型生成一个粗略的版本,然后对大模型写的代码进行一个校正。然后运行和提交。一般往往来说大模型的思路不一定正确,需要结合一下自己的想法,考虑一些特殊情况。于是可以把你总结的想法告诉大模型,然后让大模型帮你重新写代码,同时检测和校正一下大模型的代码。如果提交不过去,可以通过“帮我检查一下代码”进行代码修正。以下是我通过AI刷题的案例。

137.园区规划中的最少正方形划分问题。在这道题中,题目大概意思为有一块m*n的大小区域,然后题目目标是要最少划分为多个正方形区域。通过大模型Marscode AI的思路提示功能,可以得到问题理解、数据结构选择、算法步骤、具体步骤。于是我们结合生成的算法步骤中的特殊情况和一般情况进行分析,发现算法步骤中的结果已经符合题目的要求。如下所示:

1.特殊情况处理:

   - 如果m和n相等,那么只需要一个正方形区域即可覆盖整个地皮。

2.一般情况处理:

   - 我们可以使用贪心算法来逐步减小地皮的尺寸。

   - 每次选择较大的边作为正方形的边长,然后从地皮中减去这个正方形的面积。   

   - 重复这个过程,直到地皮被完全覆盖。

然后将具体步骤告诉Marscode AI,让其生成具体的代码。具体步骤也就是伪代码如下所示:

  1. 如果m和n相等,直接返回 1。

  2. 否则,使用一个循环来处理:

   - 每次选择较大的边作为正方形的边长。

   - 从地皮中减去这个正方形的面积。

   - 更新地皮的尺寸。

   - 增加正方形区域的计数。

  1. 当一边变为 0 时,剩下的部分可以直接用较小的边长来覆盖。

通过这种方式,我们可以逐步减小地皮的尺寸,直到完全覆盖。

于是我们对生成的代码进行修改,然后提交代码即可。总的来说,我觉得利用大模型AI能够通过思路提示以及代码生成的功能,使得我们刷题的效率能够很快的得到提升。