游戏队友搜索 | 豆包MarsCode AI刷题

173 阅读5分钟

游戏队友搜索 | 豆包MarsCode AI刷题

体验与成长

在使用豆包MarsCode AI 刷题功能进行学习的过程中,我深刻感受到了AI技术带来的巨大便捷和效率提升。尤其是在掌握编程思维方面,AI刷题功能让我能够更加高效地理解题目,理清思路,并迅速编写出符合要求的代码。

刷题前的状态:在开始使用豆包MarsCode AI之前,我的编程能力还相对基础,特别是在解决复杂算法题目时常常感到无从下手。在面对庞大数据和复杂逻辑时,我很容易陷入思维的困境,难以找到最佳解决方案。

刷题后的变化:通过持续使用AI刷题功能,我逐渐学会了如何系统地分析题目,分解问题并逐步求解。特别是在“游戏队友搜索”这道题目中,通过AI提示和智能解析,我快速找到了解决问题的思路,懂得了如何通过遍历和筛选算法来找到符合条件的队友。从最初的举步维艰,到现在能够自如地应对各种算法题目,这种进步让我对编程学习充满了信心。

刷题故事

在使用AI刷题功能的过程中,有许多难忘的故事和时刻。

难题攻克后的喜悦:今天是第二天打卡刷题,我选择了一道我很感感兴趣的题目——“游戏队友搜索”。当时的我们对这道题目束手无策,尝试了许多种方法都未能成功。就在大家几近放弃的时候,我突然想到了利用AI刷题功能来寻求帮助。通过AI的提示和解析,我们终于理清了思路,成功解出了这道题目。当看到代码成功运行,并得到了正确答案时,大家纷纷欢呼雀跃,兴奋之情溢于言表。

def solution(player_id, num, array):
    from collections import defaultdict
    
    # 创建一个字典来记录每个玩家参加的比赛
    player_games = defaultdict(set)
    
    # 填充字典
    for player, game in array:
        player_games[player].add(game)
    
    # 找到指定玩家的比赛记录
    target_games = player_games[player_id]
    
    # 初始化一个字典来记录和指定玩家一起参加过比赛的次数
    teammate_count = defaultdict(int)
    
    # 遍历所有玩家的比赛记录
    for player, games in player_games.items():
        if player != player_id:
            # 计算与指定玩家一起参加比赛的次数
            common_games = target_games & games
            if len(common_games) >= 2:
                teammate_count[player] = len(common_games)
    
    # 筛选出符合条件的队友,按玩家ID排序
    teammates = sorted(teammate_count.keys())
    
    return teammates if teammates else []

if __name__ == "__main__":
    print(
        solution(
            1,
            10,
            [
                [1, 1],
                [1, 2],
                [1, 3],
                [2, 1],
                [2, 4],
                [3, 2],
                [4, 1],
                [4, 2],
                [5, 2],
                [5, 3],
            ],
        )
        == [4, 5]
    )
    print(
        solution(
            2,
            6,
            [
                [2, 1],
                [2, 3],
                [1, 1],
                [1, 2],
                [3, 1],
                [4, 3],
            ],
        )
        == []
    )
    print(
        solution(
            3,
            8,
            [
                [3, 1],
                [3, 2],
                [3, 3],
                [4, 1],
                [5, 2],
                [6, 3],
                [7, 1],
                [7, 2],
            ],
        )
        == [7]
    )

互相竞争和进步:我和同训练营的室友常常会使用豆包MarsCode AI刷题功能互相竞争,看谁能够更快地完成题目并得到正确答案。这样的良性竞争不仅激发了大家的学习动力,也让我们的编程能力得到了显著提升。每次刷题结束后,我们都会交流心得,分享各自的解题思路和方法,相互学习和借鉴。

AI 认知

AI技术在教育领域的应用,让我对学习的认知发生了深刻的改变。

提升学习效率:通过豆包MarsCode AI刷题功能,我能够更加快速地掌握编程知识和技能。AI的智能解析和提示,让我在遇到困难时能够及时得到帮助,避免了长时间的卡壳和停滞。这样不仅提高了学习效率,也让学习过程变得更加轻松愉快。

个性化学习体验:AI技术可以根据我的学习进度和能力水平,提供个性化的学习建议和练习题目。通过刷题功能,AI能够智能地推荐适合我的题目,并根据我的解题表现进行针对性辅导。这样的个性化学习体验,让我感受到了被关注和重视,激发了我更强的学习动力。

解放思维枷锁:AI技术的强大计算能力和智能解析功能,让我在面对复杂题目时不再感到畏惧。通过AI的辅助,我能够更加自信地挑战各种高难度题目,拓宽了我的思维边界和解决问题的视野。这种解放思维的体验,让我对编程学习充满了热情和兴趣。

AI助力知识迁移:通过AI刷题功能,我学会了如何将所学知识灵活运用到不同的题目和场景中。在“游戏队友搜索”这道题目中,我不仅掌握了遍历和筛选算法,还学会了如何将这些算法应用到实际问题中。这种知识迁移的能力,让我在面对新的问题时能够更加从容应对。

综上所述,豆包MarsCode AI刷题功能对我的学习产生了积极深远的影响。通过AI的智能辅助,我不仅在编程能力上取得了显著进步,也培养了自主学习和解决问题的能力。未来,我将继续利用AI技术不断提升自己的学习水平,探索更多的知识领域,并与更多的学习者分享这份成长与喜悦。希望我的经验能够对大家有所启发和帮助!