কম্পিউটার টিউটোরিয়াল

পাইথনে টার্গেট এলিমেন্ট পর্যন্ত ন্যূনতম দূরত্ব বের করা


একটি 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

  1. Python দিয়ে বাইনারি গ্রিড সাজাতে মিনিমাম সোয়াপ বের করার প্রোগ্রাম

  2. পাইথন প্রোগ্রাম ডিকশনারিতে দ্বিতীয় সর্বোচ্চ মান বের করা

  3. পাইথন প্রোগ্রাম লিস্টে দ্বিতীয় সর্বোচ্চ সংখ্যা বের করা

  4. পাইথন প্রোগ্রাম অ্যারেতে সবচেয়ে বড় এলিমেন্ট বের করা