Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình tìm khoảng cách nhỏ nhất đến phần tử mục tiêu bằng Python

Cho mảng nums, giá trị target (đảm bảo có trong nums) và chỉ số start. Tìm chỉ số i sao cho nums[i] = target và |i - start| nhỏ nhất. Trả về khoảng cách đó.

Ví dụ: nums = [3,4,5,6,7], target = 7, start = 2. Chỉ i=4 thỏa mãn → |4-2| = 2.

Thuật toán giải quyết

  • minimum := vô cực.
  • Duyệt i từ 0 đến len(nums)-1:
    • Nếu nums[i] == target: minimum = min(minimum, abs(i - start)).
  • Trả về minimum.

Ví dụ triển khai

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))

Đầu vào

[3,4,5,6,7], 7, 2

Đầu ra

2