ধরুন আমাদের একটি 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