使用Python查找到目标元素的最小距离的程序
假设我们有一个数组nums和两个不同的值target(target必须出现在nums中)和start,我们必须找到一个索引i,使得nums[i]=target和|i-start|是最低限度。我们必须返回|i-start|。
因此,如果输入像nums=[3,4,5,6,7]target=7start=2,那么输出将为2,因为只有一个值与target匹配,即nums[4],所以i=4。现在|4-2|=2。
为了解决这个问题,我们将按照以下步骤操作:
最小值:=无穷大
对于i在0到nums大小的范围内,请执行
如果|i-开始|<最小值,然后
最小值:=|i-开始|
如果nums[i]与目标相同,则
最低回报
让我们看看以下实现以获得更好的理解-
示例
from math import inf
def solve(nums, target, start):
minimum = inf
for i in range(len(nums)):
if nums[i] == target:
if abs(i - start) < minimum:
minimum = abs(i - start)
return minimum
nums = [3,4,5,6,7]
target = 7
start = 2
print(solve(nums, target, start))输入
[3,4,5,6,7], 7, 2输出结果
2