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

পাইথনে যাচাই করুন সর্টেড অ্যারে জোড়ায় ভাগ করা যায় কিনা যাতে যোগফল k

ধরুন, একটি সর্টেড অ্যারে arr এবং একটি সংখ্যা k দেওয়া হয়েছে। আমাদের যাচাই করতে হবে যে অ্যারেটি কি জোড়ায় ভাগ করা যায় যাতে প্রতিটি জোড়ার যোগফল k হয়।

যেমন, ইনপুট arr = [1, 2, 3, 4, 5, 6], k = 7 হলে আউটপুট হবে True, কারণ জোড়াগুলো: (1,6), (2,5), (3,4)।

সমাধানের ধাপসমূহ

  • n = len(arr)। যদি বিজোড় হয়, তবে False।
  • টু-পয়েন্টার: low = 0, high = n-1।
  • while low < high:
    • যদি arr[low] + arr[high] != k হয়, তবে False।
    • low++, high--।
  • লুপ শেষ হলে True ফেরত দিন।

উদাহরণ কোড

def solve(arr, k):
    n = len(arr)
    if n % 2 == 1:
        return False
    low = 0
    high = n - 1
    while low < high:
        if arr[low] + arr[high] != k:
            return False
        low += 1
        high -= 1
    return True

arr = [1, 2, 3, 4, 5, 6]
k = 7
print(solve(arr, k))

ইনপুট

[1, 2, 3, 4, 5, 6], 7

আউটপুট

True
  1. পাইথনে চারটি ইউনিক এলিমেন্ট যাদের যোগফল ঠিক k (4Sum Exact)

  2. পাইথনে অ্যারেকে সমান যোগফলवाले সাবঅ্যারে-এ ভাগ করার যোগফল মানগুলো বের করুন

  3. পাইথনে সর্টেড অ্যারেতে মেজরিটি এলিমেন্ট যাচাই করা

  4. পাইথনে সোর্টেড অ্যারে মার্জ (Merge Sorted Array)