ETH官方钱包

前往
大廳
主題

LeetCode - 1848. Minimum Distance to the Target Element 解題心得

Not In My Back Yard | 2021-07-08 00:00:01 | 巴幣 0 | 人氣 190

題目連結:


題目意譯:
給定一個整數陣列 nums (索引值從 0 開始)以及兩個整數 target 和 start,找到一個索引值 i 使得 nums[i] == target 且 abs(i - start) 盡可能地小。注意,abs(x) 為 x 之絕對值。

回傳 abs(i - start) 。

保證 target 存在於 nums 中。

限制:
1 ≦ nums.length ≦ 1000
1 ≦ nums[i] ≦ 10 ^ 4
0 ≦ start < nums.length
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 。


解題思維:
就是單純地掃過所有 nums 中的數字 nums[i] ,先看 nums[i] 是否等於 target ,然後再計算 abs(i - start) 。其中最小的 abs(i - start) 即是所求。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。
追蹤 創作集

作者相關創作

更多創作