LeetCode简单题之到目标元素的最小距离
題目
給你一個整數數組 nums (下標 從 0 開始 計數)以及兩個整數 target 和 start ,請你找出一個下標 i ,滿足 nums[i] == target 且 abs(i - start) 最小化 。注意:abs(x) 表示 x 的絕對值。
返回 abs(i - start) 。
題目數據保證 target 存在于 nums 中。
示例 1:
輸入:nums = [1,2,3,4,5], target = 5, start = 3
輸出:1
解釋:nums[4] = 5 是唯一一個等于 target 的值,所以答案是 abs(4 - 3) = 1 。
示例 2:
輸入:nums = [1], target = 1, start = 0
輸出:0
解釋:nums[0] = 1 是唯一一個等于 target 的值,所以答案是 abs(0 - 0) = 0 。
示例 3:
輸入:nums = [1,1,1,1,1,1,1,1,1,1], target = 1, start = 0
輸出:0
解釋:nums 中的每個值都是 1 ,但 nums[0] 使 abs(i - start) 的結果得以最小化,所以答案是 abs(0 - 0) = 0 。
提示:
1 <= nums.length <= 1000
1 <= nums[i] <= 10^4
0 <= start < nums.length
target 存在于 nums 中
來源:力扣(LeetCode)
解題思路
??遍歷數組找到和target相等的元素,并計算其下標和start的距離,維護一個最小的距離。
class Solution:def getMinDistance(self, nums: List[int], target: int, start: int) -> int:MIN=float('inf')for i in range(len(nums)):if nums[i]==target:if MIN>abs(i-start):MIN=abs(i-start)return MIN
總結
以上是生活随笔為你收集整理的LeetCode简单题之到目标元素的最小距离的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode简单题之检查某单词是否等
- 下一篇: LeetCode简单题之检查是否区域内所