Сложность: easy
Дано бинарное изображение размером n x n, необходимо перевернуть изображение по горизонтали, затем инвертировать его и вернуть результат.
Перевернуть изображение по горизонтали означает, что каждая строка изображения будет развернута.
Например, переворот строки [1,1,0] по горизонтали дает [0,1,1].
Инвертировать изображение означает, что каждый 0 заменяется на 1, а каждый 1 заменяется на 0.
Например, инверсия строки [0,1,1] дает [1,0,0].
Пример:
Input: image = [[1,1,0],[1,0,1],[0,0,0]]
Output: [[1,0,0],[0,1,0],[1,1,1]]
Explanation: First reverse each row: [[0,1,1],[1,0,1],[0,0,0]].
Then, invert the image: [[1,0,0],[0,1,0],[1,1,1]]
👨💻 Алгоритм:
1⃣Переверните каждую строку по горизонтали, обменяв элементы слева направо и наоборот.
2⃣Инвертируйте каждую строку, заменив каждый 0 на 1 и каждый 1 на 0.
3⃣Верните преобразованное изображение.
😎 Решение:
class Solution:
def flipAndInvertImage(self, A: List[List[int]]) -> List[List[int]]:
C = len(A[0])
for row in A:
for i in range((C + 1) // 2):
row[i], row[C - 1 - i] = row[C - 1 - i] ^ 1, row[i] ^ 1
Ставь 👍 и забирай 📚 Базу знаний