একটি ম্যাট্রিক্স দেওয়া আছে। নতুন ম্যাট্রিক্স res বানাতে হবে যেখানে res[i][j] = মূল ম্যাট্রিক্স-এ r ≤ i এবং c ≤ j olan সব উপাদানের যোগফল।
উদাহরণ
ইনপুট: [[8, 2], [7, 4]] → আউটপুট: [[8, 10], [15, 21]]
এলগরিদম (ইন-প্লেস ২D প্রিফিক্স সাম)
- যদি ম্যাট্রিক্স খালি হয়: রিটার্ন করুন।
- রো-ওয়াইজ প্রিফিক্স সাম:
matrix[r][c] += matrix[r-1][c] - কলাম-ওয়াইজ প্রিফিক্স সাম:
matrix[r][c] += matrix[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, 10], [15, 21]]
ইনপুট / আউটপুট
[[8, 2], [7, 4]] [[8, 10], [15, 21]]