菜修狗


私信TA

用户名:jxnu

访问量:3743

签 名:

がばる、しよおにん

等  级
排  名 4025
经  验 1782
参赛次数 3
文章发表 11
年  龄 18
在职情况 学生
学  校 江西师范大学
专  业 数据科学与大数据技术

  自我简介:

a simple preson want to do someting

TA的其他文章

解题思路:我们看到这个题目,可以很快的转化为作为求排序后数组的两两之间的最小问题,当然也可以不需要排序,当然我这边直接偷懒直接sort,但是你追求效率的话你也可以直接快排,二分排,创建一个比较的大的假定公差d,然后一个for循环求最小值就可以了,不排序的话可以直接abs,当然注意边界情况。

注意事项:奇怪的是你给出的midist数值很迷,给你们看一下分别代入1000,10000,100000,的结果2305.png
参考代码:

n = int(input())
midest = 10000
num = list(map(int,input().split()))
num.sort()
for i in range(len(num) - 1):
    midest = min(midest,num[i + 1] - num[i])
if midest == 0:
    print(n)
else:
    ans = (num[-1] - num[0])//midest
    print(ans + 1)


 

0.0分

1 人评分

  评论区

5
2 4 7 10 20 
10
这样数据行不行呢
2022-05-20 15:40:33
  • «
  • 1
  • »