কম্পিউটার টিউটোরিয়াল

পাইথনে ম্যাট্রিক্স রো রিভার্সালের পর অপরিবর্তিত থাকে কিনা তা যাচাই করা

মান লিজিয়ে আমাদের একটি স্কোয়ার ম্যাট্রিক্স আছে। আমাদের যাচাই করতে হবে প্রতিটি রো রিভার্স (row reversal) অপারেশন করার পর ম্যাট্রিক্সটি একই থাকে কিনা।

যেমন, ইনপুট যদি:

686
282
333

তবে আউটপুট হবে 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
  1. পাইথনে ম্যাট্রিক্স ৯০ ডিগ্রি ঘুরিয়ে দেওয়া (Rotate Matrix)

  2. পাইথনে টপ্লিট্জ ম্যাট্রিক্স (Toeplitz Matrix) যাচাই করার প্রোগ্রাম

  3. পাইথনে ম্যাট্রিক্স ট্রান্সপোজ (Transpose) করা

  4. পাইথন প্রোগ্রাম: দুটি ম্যাট্রিক্স ইডেন্টিক্যাল কিনা চেক করা