কম্পিউটার

পাইথনে সারি রিভার্সালের পরেও ম্যাট্রিক্স অপরিবর্তিত থাকে কিনা তা পরীক্ষা করুন


ধরুন আমাদের একটি বর্গ ম্যাট্রিক্স আছে। প্রতিটি সারিতে সারি রিভার্সাল অপারেশন করার পরে ম্যাট্রিক্স একই থাকে কিনা তা আমাদের পরীক্ষা করতে হবে।

সুতরাং, যদি ইনপুট মত হয়

6 8 6
2 8 2
3 3 3

তাহলে আউটপুট হবে True

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • n :=ম্যাট্রিক্সের সারি গণনা
  • আমি 0 থেকে n - 1 রেঞ্জের জন্য, কর
    • বামে :=0, ডানে :=n - 1
    • যখন বামে <=ডানে, কর
      • যদি ম্যাট্রিক্স[i, left] ম্যাট্রিক্স[i, right] এর মত না হয়, তাহলে
        • মিথ্যে ফেরত দিন
      • বাম :=বাম + 1, ডান :=ডান - 1
  • সত্য ফেরান

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

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

  1. পাইথনে ম্যাট্রিক্স ঘোরান

  2. প্রদত্ত ম্যাট্রিক্স Toeplitz ম্যাট্রিক্স কি পাইথনে নয় তা পরীক্ষা করার জন্য প্রোগ্রাম

  3. পাইথনে একটি ম্যাট্রিক্স স্থানান্তর?

  4. দুটি প্রদত্ত ম্যাট্রিক্স অভিন্ন কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম