ধরুন আমাদের একটি বর্গ ম্যাট্রিক্স আছে। প্রতিটি সারিতে সারি রিভার্সাল অপারেশন করার পরে ম্যাট্রিক্স একই থাকে কিনা তা আমাদের পরীক্ষা করতে হবে।
সুতরাং, যদি ইনপুট মত হয়
6 | 8 | 6 |
2 | 8 | 2 |
3 | 3 | 3 |
তাহলে আউটপুট হবে True
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- n :=ম্যাট্রিক্সের সারি গণনা
- আমি 0 থেকে n - 1 রেঞ্জের জন্য, কর
- বামে :=0, ডানে :=n - 1
- যখন বামে <=ডানে, কর
- যদি ম্যাট্রিক্স[i, left] ম্যাট্রিক্স[i, right] এর মত না হয়, তাহলে
- মিথ্যে ফেরত দিন
- বাম :=বাম + 1, ডান :=ডান - 1
- যদি ম্যাট্রিক্স[i, left] ম্যাট্রিক্স[i, right] এর মত না হয়, তাহলে
- সত্য ফেরান
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
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