青训营X豆包MarsCode 刷题 Marscode AI助手刷题实践 :套碗游戏的取碗顺序问题| 豆包MarsCode AI刷题

163 阅读2分钟

Marscode AI助手助理解决:套碗游戏的取碗顺序问题——AI解题也是有技巧的

题目要求

小F正在玩一个套碗的游戏,每个碗都有一个编号,从1到n,它们从大到小被套在一根木棍上。小F只能从木棍上取最上面的碗,每次只能取一个。现在你需要判断给定的取碗顺序是否可行。如果可行,那么返回1,否则返回0。

例如,对于2个碗,取碗的顺序可以是 2 1 或 1 2,这两种顺序都是合法的。而对于3个碗,给定顺序 3 1 2 不可能通过合法操作实现,因此该顺序不可行。

给出的样例

样例1:

输入:M = 2, a = [1, 2]
输出:1

样例2:

输入:M = 3, a = [3, 1, 2]
输出:0

样例3:

输入:M = 4, a = [1, 3, 2, 4]
输出:1

题目分析

首先这道题没读懂,从大到小是由底向上从大到小还是由顶向下从大到小(现实中好像都行) 究竟什么是可行什么是不可行,好像都不太清除。

这个时候不用着急,这个时候让Marscode AI助手帮忙分析一下

image.png

image.png

好像懂了,就是一个模拟栈 但是对于碗的大小顺序还是不理解,让Marscode AI助手举个例子。 通过小册的学习我们可以知道,如果为AI设定背景的话会大大提高回答的准确性。 例如:你是一个编程大师,数学大师、编程高手等等。

image.png

image.png

ok,这下明白了!

通过python列表从左到右来理解,也就是遍历的时候从i = 0开始。

建立一个栈用于存放碗;通过栈的中间作用,用原始列表[3,2,1]与目标顺序[3,1,2]进行匹配,最终栈空为可行,否则不可行。

现在可以编码了。 等一下,AI助手这里好像给出了代码提示。

image.png

简单看一下代码逻辑没有问题啊。

要不先运行试试看,有问题的话调整一下(微调),调试也是很重要的一步。

image.png 好家伙竟然通过了。真的牛啊。

Marscode AI助手刷题优势

1.帮助理解题目:通过举例可以解决对题目理解的疑难点。

2.给出思路框架:有了思路框架之后,编码就更为简单清晰。

3.使用AI求解问题的时候,最好不要一开始就把问题一股脑抛给AI,要像Chain of Thought 或者 Tree of Thought 一样一步一步循序渐进,这样AI给出的答案会更加准确。

4.一定不要过度依赖AI