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

পাইথনে ম্যাট্রিক্সে সর্বোচ্চ মান ওয়ালা সেলের সংখ্যা বের করা

একটি n×n ম্যাট্রিক্স ০ দিয়ে ইনিশিয়ালাইজড। একটি লিস্ট দেওয়া আছে যাতে রো এবং কলাম পজিশনের জোড়া আছে। লিস্টের প্রতিটি আইটেম [r, c] এর জন্য সকল সেল যাদের রো < r এবং কলাম < c, তাদের ভ্যালু ১ বাড়ানো হয়। সব অপারেশনের পর ম্যাট্রিক্সে সর্বোচ্চ মান কতটি সেলে আছে তা বের করতে হবে। (ইনডেক্স ০-ভিত্তিক)

উদাহরণ

ইনপুট: input_list = [[3, 5], [4, 6], [5, 3]]

আউটপুট: 9

৫×৬ ম্যাট্রিক্স ধরে। সর্বোচ্চ মান ৩ এবং ৯টি সেলে এটি পাওয়া যায়।

সমাধান পদ্ধতি

  1. xpos := 0, ypos := 0
  2. প্রতিটি item in input_list:
    • যদি xpos == 0: xpos := item[0], ypos := item[1]
    • অন্যথায়: xpos := min(xpos, item[0]), ypos := min(ypos, item[1])
  3. xpos * ypos রিটার্ন করুন।

তত্ত্ব: সব অপারেশনের কমন এলিয়া হল (0,0) থেকে (min_row-1, min_col-1)।

পাইথন ইমপ্লিমেন্টেশন

def solve(input_list):
    xpos = 0
    ypos = 0
    for item in input_list:
        if xpos == 0:
            xpos = item[0]
            ypos = item[1]
        else:
            xpos = min(xpos, item[0])
            ypos = min(ypos, item[1])
    return xpos * ypos

# টেস্ট
print(solve([[3, 5], [4, 6], [5, 3]]))  # আউটপুট: 9

ইনপুট

[[3, 5], [4, 6], [5, 3]]

আউটপুট

9
  1. পাইথনে গ্রাফ সবাই দ্বারা ট্রাভার্সেবল কিনা চেক করার প্রোগ্রাম

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

  3. পাইথনে তিনটি সংখ্যার মধ্যে সর্বোচ্চ মান বের করা

  4. পাইথনে ম্যাট্রিক্সের ট্রান্সপোজ বের করা