배열 nums와 두 개의 다른 값 target(target은 nums에 있어야 함)과 start가 있다고 가정하면 nums[i] =target 및 |i - start|가 되는 인덱스 i를 찾아야 합니다. 최소입니다. |i - start|를 반환해야 합니다.
따라서 입력이 nums =[3,4,5,6,7] target =7 start =2와 같으면 target과 일치하는 값이 하나만 있기 때문에 출력은 2가 됩니다. 즉, nums[4] , 그래서 나는 =4. 이제 |4-2| =2.
이 문제를 해결하기 위해 다음 단계를 따릅니다.
-
최소 :=무한대
-
범위 0에서 숫자 크기까지의 i에 대해
-
nums[i]가 대상과 같으면
-
만약 |i - 시작| <최소, 다음
-
최소 :=|i - 시작|
-
-
-
-
최소 반환
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예시
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