【发布时间】:2021-11-28 08:24:28
【问题描述】:
我在 LeetCode 中有一个名为 832 的任务。翻转图像
给定一个 n x n 二进制矩阵图像,水平翻转图像,然后 反转它,并返回结果图像。
水平翻转图像意味着图像的每一行都是 反了。
例如,水平翻转 [1,1,0] 会得到 [0,1,1]。到 反转图像意味着每个 0 被 1 替换,每个 1 是 替换为 0。
例如,反转 [0,1,1] 会得到 [1,0,0]。
示例 1:
输入:图像 = [[1,1,0],[1,0,1],[0,0,0]]
输出:[[1,0,0],[0,1,0],[1,1,1]]
解释:
首先反转每一行:[[0,1,1],[1,0,1],[0,0,0]]。
然后,反转图像:[[1,0,0],[0,1,0],[1,1,1]]
有人提供的解决方案是Python中的单行:
class Solution:
def flipAndInvertImage(self, image: List[List[int]]) -> List[List[int]]:
return [[1 ^ i for i in reversed(row)] for row in image]
并且调试单行代码根本无效,所以我的请求是逐个解释代码。大多数情况下,我在 for 循环 之前的那些部分有问题,因为我在互联网上找不到可以在循环之前放置代码的解释。
【问题讨论】: