ধরুন আমাদের একটি প্রদত্ত ম্যাট্রিক্স আছে, আমাদের একটি নতুন ম্যাট্রিক্স রেস খুঁজে বের করতে হবে, যার মাত্রা প্রদত্ত ম্যাট্রিক্সের মতো যেখানে res[i, j] এর প্রতিটি উপাদান =প্রতিটি r ≤ এর জন্য ম্যাট্রিক্স[r, c] এর উপাদানগুলির সমষ্টি i, এবং c ≤ j.
সুতরাং, যদি ইনপুট মত হয়
8 | 2 |
7 | 4 |
তাহলে আউটপুট হবে
8 | 10 |
15 | 21 |
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
যদি ম্যাট্রিক্স খালি হয়, তাহলে
-
রিটার্ন ম্যাট্রিক্স
-
-
R :=ম্যাট্রিক্সের সারি গণনা
-
C :=ম্যাট্রিক্সের কলাম সংখ্যা
-
1 থেকে R - 1 এর মধ্যে r এর জন্য, করুন
-
0 থেকে C - 1 পরিসরে c এর জন্য, করুন
-
ম্যাট্রিক্স[r, c] :=ম্যাট্রিক্স[r, c] + ম্যাট্রিক্স[r - 1, c]
-
-
-
0 থেকে R - 1 রেঞ্জের r এর জন্য, করুন
-
1 থেকে C - 1 এর মধ্যে c এর জন্য, করুন
-
ম্যাট্রিক্স[r, c] :=ম্যাট্রিক্স[r, c] + ম্যাট্রিক্স[r, c - 1]
-
-
-
রিটার্ন ম্যাট্রিক্স
উদাহরণ
আসুন আরও ভালভাবে বোঝার জন্য নিম্নলিখিত বাস্তবায়ন দেখি
def solve(matrix): if not matrix: return matrix R, C = len(matrix), len(matrix[0]) for r in range(1, R): for c in range(C): matrix[r][c] += matrix[r - 1][c] for r in range(R): for c in range(1, C): matrix[r][c] += matrix[r][c - 1] return matrix matrix = [ [8, 2], [7, 4] ] print(solve(matrix))
ইনপুট
[[8, 2],[7, 4]]
আউটপুট
[[8, 10], [15, 21]]