使用 Python 查找目标元素的最小距离的程序
假设我们有一个数组 nums 和两个不同的值 target(target 必须出现在 nums 中)和 start,我们需要找到一个索引 i,使得 nums[i] = target 并且 |i - start| 最小。我们需要返回 |i - start|。
因此,如果输入类似于 nums = [3,4,5,6,7] target = 7 start = 2,则输出将为 2,因为只有一个值与 target 匹配,即 nums[4],所以 i = 4。现在 |4-2| = 2。
为了解决这个问题,我们将遵循以下步骤
minimum := 无穷大
对于 i 从 0 到 nums 的大小,执行
如果 nums[i] 与 target 相同,则
如果 |i - start| < minimum,则
minimum := |i - start|
返回 minimum
让我们看看下面的实现以获得更好的理解 -
示例
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
Learn Python in-depth with real-world projects through our Python certification course. Enroll and become a certified expert to boost your career.
输出
2
广告