Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ตรวจสอบว่าเมทริกซ์ยังคงไม่เปลี่ยนแปลงหลังจากการกลับแถวใน Python


สมมุติว่าเรามีเมทริกซ์กำลังสอง เราต้องตรวจสอบว่าเมทริกซ์ยังคงเหมือนเดิมหลังจากดำเนินการกลับแถวในแต่ละแถวหรือไม่

ดังนั้นหากอินพุตเป็นแบบ

6 8 6
2 8 2
3 3 3

แล้วผลลัพธ์จะเป็น True

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • n :=จำนวนแถวของเมทริกซ์
  • สำหรับฉันในช่วง 0 ถึง n - 1 ทำ
    • ซ้าย :=0, ขวา :=n - 1
    • ขณะซ้าย <=ขวา ทำ
      • ถ้า matrix[i, left] ไม่เหมือนกับ matrix[i, right] แล้ว
        • คืนค่าเท็จ
      • ซ้าย :=ซ้าย + 1, ขวา :=ขวา - 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