蓝桥杯(python)试题 算法训练 最小距离

蓝桥杯(python)试题 算法训练 最小距离,第1张

蓝桥杯(python)试题 算法训练 最小距离

资源限制

时间限制:1.0s 内存限制:256.0MB

  最小距离

问题描述

  数轴上有n个数字,求最近的两个数,即min(abs(x-y))

输入格式

  第一行包含一个整数n。
  接下来一行,表示n整数。

输出格式

  一个整数表示最小距离

样例输入

6
7 3 4 11 9 17

样例输出

1

样例说明

  取3和4

数据规模和约定

  n<=100000
  所有整数<=10^7

常规思路每个数与其他数相减,返回最小值 (必定超时)

n = input()
m = list(map(int,input().split()))
A  =[]
for i in m:
    for j in m:
        if i-j != 0:
            A.append(abs(i-j))
print(min(A))

我的思路:

1、求出每个数与最小数的差;

2、在排序求出每个差数与前一个差数的差,返回最小的差,就是结果。

n = input()
m = list(map(int,input().split()))
m.sort()
A = []
B = []
for i in m[1:]:
    B.append(i-m[0])
B.insert(0,0)
for i in range(len(B)-1):
    A.append(B[i+1]-B[i])
print(min(A))

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5700436.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存