青训营X豆包MarsCode 技术训练营11.29AI学习方法与心得| 豆包MarsCode AI刷题

68 阅读3分钟

7d535edf36d259ea2e80601578527fa7.png

7d535edf36d259ea2e80601578527fa7.png

题目解析

题目描述: 小U同学每天在早餐店有多种主食和饮料可以选择。给定两个数组,staples 表示不同主食的价格,drinks 表示不同饮料的价格。每天早上,小U最多会花费不超过 x 元,他可能选择一份主食、一杯饮料,或只选择主食或饮料中的一个。任务是计算小U每天早上有多少种不同的选择,满足其最大花费不超过 x

思路:

  1. 双重循环遍历:  首先,遍历主食列表,对于每一种主食,再遍历饮料列表,检查主食和饮料的总价是否不超过 x
  2. 单选情况:  除了组合选择,还需要考虑只选择主食或只选择饮料的情况。
  3. 计数:  每当找到一种满足条件的选择时,计数器增加。

代码详解:

python
def solution(staples: list, drinks: list, x: int) -> int:
    count = 0
    # 遍历所有主食和饮料的组合
    for staple in staples:
        for drink in drinks:
            if staple + drink <= x:
                count += 1
    # 只选择主食或只选择饮料的情况
    for staple in staples:
        if staple <= x:
            count += 1
    for drink in drinks:
        if drink <= x:
            count += 1
    return count

知识总结

新知识点:

  • 双重循环:  用于遍历两个列表的所有可能组合。
  • 条件判断:  用于检查组合是否满足特定的条件(如价格不超过 x)。
  • 计数器:  用于统计满足条件的组合数量。

理解与建议:

  • 理解双重循环的工作原理 对于解决组合问题至关重要。
  • 注意边界条件,如只选择主食或饮料的情况,这在实际编程中容易被忽略。
  • 代码的可读性 也很重要,适当的注释和清晰的变量命名可以帮助他人(或未来的自己)更好地理解代码。

学习计划

高效学习方法:

  1. 制定刷题计划:  每天或每周设定一个目标,比如完成一定数量的题目。
  2. 利用错题进行针对性学习:  记录并分析错误,查找原因,针对性地复习相关知识点。
  3. 定期复习:  定期回顾已解决的问题,巩固记忆。

结合豆包MarsCode AI 刷题功能:

  • 使用智能推荐系统 选择适合自己水平的题目。
  • 利用AI分析 来理解解题思路和代码实现。

工具运用

结合其他学习资源:

  1. 在线课程和教程:  作为理论学习的补充。
  2. 技术社区和论坛:  参与讨论,解决疑惑。
  3. 实际项目实践:  将所学知识应用到实际项目中,加深理解。

实用学习建议:

  • 多样化学习资源:  不要局限于一种学习方式,结合视频、文章、实践等多种方式。
  • 定期自我测试:  通过模拟考试或在线测试来检验学习成果。
  • 保持好奇心和探索精神:  对于不懂的问题,积极寻求答案,不断探索新的技术领域。