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

পাইথনে একটি অ্যারে থেকে সর্বোচ্চ nCr মান দিয়ে জোড়া বের করুন


সমস্যা বিবরণ

একটি অ্যারে arr দেওয়া আছে যার আকার n। এর থেকে দুটি উপাদান arr[i] এবং arr[j] বের করতে হবে যাতে arr[i]Carr[j] (বিনোমিয়াল কোইফিশিয়েন্ট) সর্বোচ্চ হয়। একাধিক জোড়া থাকলে যেকোনো একটি রিটার্ন করুন।

উদাহরণস্বরূপ, ইনপুট [4, 1, 2] হলে আউটপুট হবে 4 2, কারণ 4C1=4, 4C2=6, 2C1=2; সর্বোচ্চ হলো 6 যা জোড়া (4,2)-এর জন্য।

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

  1. অ্যারেটি সর্ট করুন।
  2. N := v[n-1] (সর্বোচ্চ উপাদান)।
  3. যদি N বিজোড় হয়:
    • first := N // 2, second := first + 1।
    • left এবং right খুঁজুন যাতে first এবং second এর সবচেয়ে কাছাকাছি মান পাওয়া যায়।
    • first - left এবং right - second তুলনা করুন; যেটি ছোট তার সাথে N প্রিন্ট করুন।
  4. যদি N জোড় হয়:
    • max := N // 2।
    • অ্যারেতে max-এর সবচেয়ে কাছাকাছি মান R খুঁজুন।
    • N এবং R প্রিন্ট করুন।

পাইথন কোড উদাহরণ

def findMatrixPair(v, n):
    v.sort()
    N = v[n - 1]
    if N % 2 == 1:
        first = N // 2
        second = first + 1
        res1 = res2 = 3 * (10 ** 18)
        left = right = -1
        temp = -1
        for i in range(n):
            if v[i] > first:
                temp = i
                break
            else:
                diff = first - v[i]
                if diff < res1:
                    res1 = diff
                    left = v[i]
        right = v[temp]
        diff1 = first - left
        diff2 = right - second
        if diff1 < diff2:
            print(N, left)
        else:
            print(N, right)
    else:
        max_val = N // 2
        res = 3 * (10 ** 18)
        R = -1
        for i in range(n - 1):
            diff = abs(v[i] - max_val)
            if diff < res:
                res = diff
                R = v[i]
        print(N, R)

v = [4, 1, 2]
n = len(v)
findMatrixPair(v, n)  # আউটপুট: 4 2

ইনপুট

[4,1,2], 3

আউটপুট

4 2
  1. MongoDB-এ নির্দিষ্ট ভ্যালুর সর্বাধিক ঘটনার সাথে অ্যারে ধারণকারী ডকুমেন্ট খুঁজুন

  2. C++-এ অ্যারে থেকে সর্বোচ্চ nCr ভ্যালু দিয়ে জোড়া বের করুন

  3. C++-এ দেয়া অ্যারে থেকে সর্বোচ্চ উচ್ಚতার পিরামিড বের করুন

  4. পাইথনে 'নাইস' জোড়া वाले সাবসিকোয়েন্সের ম্যাক্সিমাম আকার বের করা