মান লিজিয়ে আমাদের একটি স্কোয়ার ম্যাট্রিক্স আছে। আমাদের যাচাই করতে হবে প্রতিটি রো রিভার্স (row reversal) অপারেশন করার পর ম্যাট্রিক্সটি একই থাকে কিনা।
যেমন, ইনপুট যদি:
| 6 | 8 | 6 |
| 2 | 8 | 2 |
| 3 | 3 | 3 |
তবে আউটপুট হবে True
সমাধানের ধাপসমূহ
n :=ম্যাট্রিক্সের রো কাউন্টi০ থেকেn - 1পর্যন্ত, করুন:left := 0, right := n - 1- যখন
left <= right, করুন:- যদি
matrix[i, left]matrix[i, right]সমান না হয়, তবে:Falseরিটার্ন করুন
left := left + 1, right := right - 1
- যদি
Trueরিটার্ন করুন
উদাহরণ
বेहतर বোঝার জন্য নিচের বাস্তবায়নটি দেখুন:
def solve(matrix):
n = len(matrix)
for i in range(n):
left = 0
right = n - 1
while left <= right:
if matrix[i][left] != matrix[i][right]:
return False
left += 1
right -= 1
return True
matrix = [
[6,8,6],
[2,8,2],
[3,3,3]]
print(solve(matrix))
ইনপুট
[[6,8,6], [2,8,2], [3,3,3]]
আউটপুট
True