使用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