मान लीजिए हमारे पास एक सरणी 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