मान लीजिए कि हमारे पास एक सरणी संख्या और दो अलग-अलग मान लक्ष्य हैं (लक्ष्य अंकों में मौजूद होना चाहिए) और शुरू करें, हमें एक इंडेक्स ढूंढना होगा जैसे कि nums[i] =target और |i - start| न्यूनतम है। हमें |i - start|.
. वापस करना होगाइसलिए, यदि इनपुट संख्या =[3,4,5,6,7] लक्ष्य =7 प्रारंभ =2 की तरह है, तो आउटपुट 2 होगा क्योंकि लक्ष्य के साथ मेल खाने वाला केवल एक मान है, वह है अंक [4] , तो मैं =4. अब |4-2| =2.
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे:
-
न्यूनतम:=अनंत
-
मैं के लिए 0 से लेकर अंकों के आकार तक, करें
-
यदि अंक [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