游戏排名第三大的分数 | 豆包MarsCode AI刷题

47 阅读3分钟

题目解析: 本题要求我们找到数组中第三大的分数。首先,我们需要对数组进行排序。排序后,我们可以从大到小遍历数组,找到第三大的分数。如果数组中不同的分数不足三个,那么我们只需返回最大的分数。下面是具体的解题思路: 对数组进行排序,从大到小排列。 遍历排序后的数组,找到第三大的分数。 如果数组中不同的分数不足三个,返回最大的分数。 下面是代码详解: def find_third_max(nums): # 对数组进行排序,从大到小排列 nums.sort(reverse=True) # 初始化变量,记录当前找到的不同分数的数量 count = 0 # 遍历排序后的数组 for i in range(len(nums)): # 如果当前分数与前一个分数不同,说明找到了一个新的分数 if i == 0 or nums[i] != nums[i-1]: count += 1 # 如果找到了第三个不同的分数,返回该分数 if count == 3: return nums[i] # 如果数组中不同的分数不足三个,返回最大的分数 return nums[0] #测试用例 print(find_third_max([1, 2, 2, 3, 4])) # 输出:3 print(find_third_max([1, 2, 3])) # 输出:3 print(find_third_max([1, 1, 1])) # 输出:1 知识总结: 在本题中,我们使用了排序和遍历数组的方法来找到第三大的分数。这里有几个关键点: 排序:Python中的sort()方法可以方便地对数组进行排序。 遍历数组:通过遍历数组,我们可以找到不同的分数,并统计数量。 判断条件:在遍历过程中,我们需要判断当前分数是否与前一个分数不同,以确定是否找到了一个新的分数。 学习建议: 对于入门同学来说,掌握数组的排序和遍历方法是基础。可以通过以下方法进行学习: 熟悉Python内置的排序方法,如sort()和sorted()。 练习遍历数组,掌握如何通过索引访问数组元素。 了解如何使用条件判断语句来筛选满足条件的元素。 学习计划: 结合豆包MarsCode AI刷题功能,我们可以制定以下学习计划: 每天完成1-2道数组相关的题目,巩固基础知识。 每周对所学知识进行一次总结,梳理解题思路。 利用错题本功能,针对自己的薄弱环节进行针对性学习。 工具运用: 将AI刷题功能与其他学习资源相结合,可以起到以下效果: 结合教程和视频,了解算法原理和实现方法。 利用题库中的题目进行实战演练,提高编程能力。 参考题解和其他同学的代码,学习不同的解题思路。 通过以上方法,我们可以更好地利用AI刷题功能,提高学习效果。以下是一些建议: 在刷题过程中,遇到不会的题目,可以先查阅教程和视频,了解相关知识点。 完成题目后,对比自己的代码和题解,找出优化的空间。 定期参加线上或线下的编程比赛,检验自己的学习成果。 总之,通过豆包MarsCode AI刷题功能,我们可以系统地学习编程知识,提高自己的编程能力。只要我们制定合理的学习计划,坚持不懈地刷题,一定能取得良好的学习效果。