কম্পিউটার

পাইথনের একটি ম্যাট্রিক্সে প্রতিটি সারির ক্ষুদ্রতম ছেদকারী উপাদান খুঁজে বের করার প্রোগ্রাম


ধরুন আমাদের একটি 2D ম্যাট্রিক্স আছে যেখানে প্রতিটি সারি ক্রমবর্ধমান ক্রমে সাজানো হয়েছে। আমাদের প্রতিটি সারিতে বিদ্যমান ক্ষুদ্রতম সংখ্যাটি খুঁজে বের করতে হবে। যদি এমন কোন ফলাফল না থাকে, তাহলে −1 ফেরত দিন।

সুতরাং, যদি ইনপুট মত হয়

2 3 5
5 10 10
1 3 5

তাহলে আউটপুট হবে 5

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • যদি ম্যাট্রিক্স খালি হয়, তাহলে

    • ফিরুন −1

  • প্রথম :=ম্যাট্রিক্সের প্রথম সারি থেকে একটি নতুন সেট

  • ম্যাট্রিক্সের প্রতিটি সারির জন্য, করুন

    • first :=প্রথমে সারির উপাদানগুলির একটি সেটকে ছেদ করুন

    • যদি প্রথমে খালি হয়, তাহলে

      • ফিরুন −1

  • সর্বনিম্ন প্রথম ফেরত দিন

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ

class Solution:
   def solve(self, matrix):
      if not matrix:
         return -1
      first = set(matrix[0])
      for row in matrix:
         first &= set(row)
         if not first:
            return -1
      return min(first)
ob1 = Solution()
matrix = [
   [2, 3, 5],
   [5, 10, 10],
   [1, 3, 5]
]
print(ob1.solve(matrix))

ইনপুট

matrix = [
[2, 3, 5],
[5, 10, 10],
[1, 3, 5] ]

আউটপুট

5

  1. পাইথনে একটি বাইনারি সার্চ ট্রিতে kth ক্ষুদ্রতম উপাদান খুঁজে বের করার প্রোগ্রাম

  2. পাইথন প্রোগ্রামে একটি ম্যাট্রিক্সের স্থানান্তর খুঁজুন

  3. একটি ম্যাট্রিক্সের স্থানান্তর খুঁজে পেতে পাইথন প্রোগ্রাম

  4. পাইথন প্রোগ্রাম একটি তালিকায় বৃহত্তম, ক্ষুদ্রতম, দ্বিতীয় বৃহত্তম এবং দ্বিতীয় ক্ষুদ্রতম খুঁজে পেতে?