在这篇伴学笔记中,我想对使用豆包MarsCode AI刷题平台的另一个基础功能进行总结与整理,即使用AI检查编辑区的代码。下面我将用一道具体的算法题进行举例说明。
一、题目描述
小I拿到了一串数字字符,她想知道这串数字中一共有多少个圆圈。具体规则如下:
- 数字0、6、9各含有一个圆圈。
- 数字8含有两个圆圈。
- 其他数字不含有任何圆圈。
测试样例
样例1:
输入:
s = "1234567890"
输出:5
样例2:
输入:
s = "8690"
输出:5
样例3:
输入:
s = "1111"
输出:0
二、题目解析
这道题目总体而言难度不大,是一道很经典的算法题,利用字典进行字符串匹配。具体而言,可以通过遍历字符串中的每个字符,统计数字字符中的圆圈个数来解决。根据题目规则:
- 数字
0、6和9各含有 1 个圆圈。 - 数字
8含有 2 个圆圈。 - 其他数字 (
1,2,3,4,5,7) 不含任何圆圈。
因此,可以使用一个字典将每个数字与其对应的圆圈个数映射起来,然后逐个累加统计。
三、代码编写
依据上面的题目分析,可以编写如下的算法代码:
def solution(s: str) -> int:
# 圆圈计数映射
circle_count = {
'0': 1, '6': 1, '9': 1, '8': 2, # 有圆圈的数字
'1': 0, '2': 0, '3': 0, '4': 0, '5': 0, '7': 0 # 无圆圈的数字
}
# 统计圆圈总数
total_circles = 0
for char in s:
total_circles += circle_count.get(char, 0)
return total_circles
if __name__ == '__main__':
# 测试样例
print(solution(s = "1234567890") == 5)
print(solution(s = "8690") == 5)
print(solution(s = "1111") == 0)
四、AI功能的使用
在提交代码之前,不妨使用一下豆包MarsCode AI刷题平台右侧的AI功能,里面有有一项“帮我检查一下代码”,点击后,AI会分析你目前所写的代码,解释你的代码,并给出一些建设性意见。下面是由AI帮我检查代码后给出的一些反馈。
现在,从AI的角度看来,这个代码是没有什么问题的,同时还保持了良好的使用测试用例的习惯。其实到此为止已经可以提交了,但是还可以让AI帮助我们检查一下这个代码的时间空间复杂度,你可以这样与AI对话,“帮我分析一下代码的时间和空间复杂度”。那么AI会帮你分析,并给出如下的回复。
至此,我们便可以提交代码,不出所料,顺利通过用例测试,并成功提交。
五、总结
综上所述,AI刷题中检查已写代码的功能能够帮助使用者快速定位代码错误,优化代码结构,提供一些即时的反馈与学习建议,同时包括一些自动化测试与验证。
AI检查代码功能的核心优势在于提升效率、优化代码质量和促进学习成长。通过结合AI提供的自动化工具,开发者能够更专注于解决实际问题,同时加速技能进阶。