কম্পিউটার

পাইথনে ম্যাট্রিক্সে একটি Z আকৃতি তৈরি করে এমন উপাদানগুলির যোগফল খুঁজে বের করার প্রোগ্রাম


ধরুন আমাদের একটি n x n ম্যাট্রিক্স M আছে, আমাদের ম্যাট্রিক্সে একটি Z আকৃতি তৈরি করে এমন সমস্ত উপাদানের যোগফল খুঁজে বের করতে হবে।

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

4 3 2
9 1 8
2 5 6

তাহলে আউটপুট হবে 23, কারণ উপাদানগুলি হল [4+3+2+1+2+5+6] =23।

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

  • n :=ম্যাট্রিক্সের সারি গণনা
  • যদি n <=2 হয়, তাহলে
    • ম্যাট্রিক্সের সমস্ত উপাদানের যোগফল ফেরত দিন
  • first_row :=প্রথম সারির যোগফল
  • last_row :=শেষ সারির যোগফল
  • কর্ণ =ম্যাট্রিক্সের সমষ্টি[i, n-1-i] 1 থেকে n-2 পর্যন্ত সমস্ত i জন্য
  • প্রথম_সারি + শেষ_রো + তির্যক ফেরত দিন

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

উদাহরণ

class Solution:
   def solve(self, matrix):
      n = len(matrix)
      if n <= 2:
         return sum(sum(row) for row in matrix) first_row = sum(matrix[0])
      last_row = sum(matrix[n-1])
      diagonal = sum(matrix[i][n-1-i] for i in range(1, n-1))
      return first_row + last_row + diagonal
ob = Solution()
matrix = [ [4, 3, 2], [9, 1, 8], [2, 5, 6] ]
print(ob.solve(matrix))

ইনপুট

matrix = [[4, 3, 2],
[9, 1, 8],
[2, 5, 6]]

আউটপুট

23

  1. পাইথন প্রোগ্রামে অ্যারের সমষ্টি খুঁজুন

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

  3. পাইথন প্রোগ্রাম তালিকায় উপাদানের যোগফল খুঁজে বের করতে

  4. অ্যারের যোগফল খুঁজে পেতে পাইথন প্রোগ্রাম