python 每日一练

给定一个整数数组,请求出该数组中两数之差(绝对值)的最小值,并确定元素的位置。

输入:

第一行为一个正整数N(1<N<=10000),随后第二行为N个整数。

输出:

该数组中两数之差(绝对值)的最小值及对应元素在输入数组中的位置索引,索引从1开始计数,以空格分隔。若有多组,输出任意一组即可。

import copy

n=int(input())
data = map(int, input().split())
data = list(data)

temp = copy.deepcopy(data) 
temp.sort()

a = 0
lst = []
for i in range(n-1):
	a = temp[i+1] - temp[i]
	lst.append(a)

xia = lst.index(min(lst))

x1 = data.index(temp[xia])
x2 = data.index(temp[xia + 1])
if x1 == x2:
        x2 = data.index(temp[xia + 1], x1 + 1)
print(min(lst), x1 + 1, x2 + 1)

1、复制list的方法 import copy

2、嵌套使用list方法的感觉

3、↓ 

Python3列表中获取相同元素出现位置的下标 - Nonevx - 博客园 (cnblogs.com)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值