একটি nums অ্যারে, target (যেটি অবশ্যই nums-এ থাকবে) এবং start ইনডেক্স দেওয়া আছে। এমন একটি ইনডেক্স i খুঁজে বের করতে হবে যাতে nums[i] = target এবং |i - start| ন্যূনতম হয়। এই ন্যূনতম |i - start| মান ফেরত দিন।
যেমন, nums = [3,4,5,6,7], target = 7, start = 2 হলে আউটপুট ২। কারণ target ৭ শুধু ইনডেক্স ৪-এ পাওয়া যায়, |4-2| = ২।
সমাধানের ধাপসমূহ
- minimum := অসীম
- i = 0 থেকে nums-এর আকার পর্যন্ত লুপ:
- যদি nums[i] == target হয়, তবে minimum := min(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