এই আর্টিকেলে আমরা নিচের সমস্যা সমাধানের কথা শিখব।
সমস্যা: দুটি অ্যারে দেওয়া আছে, আমাদের দুটি সর্টেড অ্যারে থেকে নিকটতম জোড়া বের করতে হবে।
চলুন নিচের ইমপ্লিমেন্টেশনে সমাধানটি পর্যবেক্ষণ করি।
উদাহরণ
# sys মডিউল
import sys
# জোড়া
def print_(ar1, ar2, m, n, x):
# ডিফারেন্স
diff = sys.maxsize
# ইনডেক্স
l = 0
r = n - 1
while (l < m and r >= 0):
# নিকটতম জোড়া
if abs(ar1[l] + ar2[r] - x) < diff:
res_l = l
res_r = r
diff = abs(ar1[l] + ar2[r] - x)
# জোড়ার যোগফল
if ar1[l] + ar2[r] > x:
r = r - 1
else:
l = l + 1
# রেজাল্ট প্রিন্ট
print("The closest pair available is [", ar1[res_l], ",", ar2[res_r], "]")
# মেইন
ar1 = [1, 3, 6, 9]
ar2 = [11, 23, 35, 50]
m = len(ar1)
n = len(ar2)
x = 20
print_(ar1, ar2, m, n, x)
আউটপুট
The closest pair available is [ 9 , 11 ]

সभी ভেরিয়েবল লোকাল স্কোপে ঘোষণা করা হয়েছে এবং তাদের রেফারেন্স উপরের চিত্রে দেখা যাচ্ছে।
উপসংহার
এই আর্টিকেলে আমরা শিখেছি কিভাবে দুটি সর্টেড অ্যারে থেকে নিকটতম জোড়া বের করার পাইথন প্রোগ্রাম লিখতে হয়।