2401_85788322 2024-06-19 16:13 采纳率: 71.4%
浏览 2
已结题

寻找洛谷求一组数中最大值的解答中存在的问题

我在洛谷做了一道求解最大值的题,如下

img


但是测试之后只有一个测试点通过,其他均显示答案错误。不知道问题出在哪里了,我编写的代码如下:

img

  • 写回答

1条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-06-19 16:13
    关注

    引自免费微信小程序:皆我百晓生

    从你提供的信息来看,主要的问题在于你所求的是最小值,但你的代码中却使用了max()函数,这是用来求最大值的。因此,你需要将max()改为min()来正确解决题目要求。

    此外,你的代码在读取输入时也存在一些小错误。在读取数组a时,你使用了input().split( sep: " ", n-1),这里有几个问题:首先,split()函数不需要sep:这样的关键字参数,其次,n-1在这里是多余的,因为它并不影响split()函数的行为。正确的做法应该是直接调用split()函数,并且确保它是在int(input())之后执行,这样才能保证输入被正确地分割成n个元素。

    基于上述分析,以下是修改后的代码:

    n = int(input())
    a = list(map(int, input().split()))  # 直接将输入转换为整数列表
    print(min(a))  # 输出最小值
    

    这段代码首先读取整数n,然后在下一行读取n个整数并直接转换为整数列表。最后,使用min()函数找到并打印列表中的最小值。

    这样修改后,应该可以正确解决题目要求,即找到给定数组中的最小值。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月19日
  • 已采纳回答 6月19日
  • 创建了问题 6月19日