Giả sử chúng ta có một ma trận vuông. Chúng ta phải kiểm tra xem ma trận có còn giống nhau không sau khi thực hiện các thao tác đảo ngược hàng trên mỗi hàng hay không.
Vì vậy, nếu đầu vào giống như
6 | 8 | 6 |
2 | 8 | 2 |
3 | 3 | 3 |
thì đầu ra sẽ là True
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- n:=số hàng của ma trận
- đối với tôi trong phạm vi từ 0 đến n - 1, thực hiện
- left:=0, right:=n - 1
- khi left <=right, thực hiện
- nếu ma trận [i, left] không giống với ma trận [i, right] thì
- trả về Sai
- left:=left + 1, right:=right - 1
- nếu ma trận [i, left] không giống với ma trận [i, right] thì
- trả về True
Ví dụ
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
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))
Đầu vào
[ [6,8,6], [2,8,2], [3,3,3]]
Đầu ra
True