功能亮点2 |豆包MarsCode AI刷题

50 阅读2分钟

在传统的刷题方式中,学生往往需要自己摸索解题思路,这不仅耗时而且效率低下。当遇到难题时,他们通常需要在各种论坛和社区中搜索解答,但即使找到了答案,也常常因为缺乏对代码原理的理解而难以吸收和应用。相比之下,AI提供了一种全新的解题思路和学习体验, 基于AI技术提供逐步解决方案,帮助深入理解背后的原理。这种逐步引导的方式能够跟随AI的思路,逐步构建起对问题的理解。AI不仅提供答案,还能解释涉及的数学和科学概念,帮助理解背后的原理。这种解释性学习对于加深理解和记忆非常有帮助。对于代码理解困难的问题,AI提供了多种解决方案。例如,通过逐步调试,学生可以使用调试工具(如GDB)逐步执行代码,观察每一步的变量变化,帮助理解代码逻辑。AI不会只提供一种解法,而是会提供多种优化路径,帮助开拓思维。

从AI中学习到了许多新思维和知识

486蛇形填充n阶矩阵
有题目可得,填充是按照下左上右进行的。初始位置在右上角。AI提供了一个很好的思路,我一般是两层循环,变动指针来控制,这样的方法其实非常容易越界等问题的发生。所以学习了AI的思路,提前设定填充顺序directions,然后建立一个变量direction_index用来记录此时的变换位置。

python
 代码解读
复制代码
def solution(n: int) -> list:
    matrix=[[0]*n for _ in range(n)]
    x,y=0,n-1
    directions = [(1, 0), (0, -1), (-1, 0), (0, 1)]
    direction_index = 0
    # 填充数字
    for num in range(1,n*n+1):
        matrix[x][y]=num
        # 计算下一个位置
        next_x = x + directions[direction_index][0]
        next_y = y + directions[direction_index][1]
        # 检查是否需要改变方向
        if not (0 <= next_x < n and 0 <= next_y < n and matrix[next_x][next_y] == 0):
            # 改变方向
            direction_index = (direction_index + 1) % 4
            next_x = x + directions[direction_index][0]
            next_y = y + directions[direction_index][1]
        # 更新当前位置
        x,y=next_x,next_y
    
    return matrix

格式化字符串 -f表达式 在 Python 中,格式化字符串是一种非常方便的方式来格式化输出。格式化字符串使用 f 前缀,并在字符串中使用大括号 {} 来插入变量或表达式。

python
代码解读
复制代码
# 保留小数点后两位
f"{num:.2f}"