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

輸出

2

更新於: 2021年5月29日

958 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.