LeetCode--Flipping an Image

题目来源:Leetcode–Flipping an Image

题目意思是对一个0-1组成的嵌套列表做对折并取反,
解题思路:我的理解是这个样子,对列表中的每个列表先做对称反转(a[len(a)-1-j]),然后再取反,由于列表元素除了0就是1,那么取反可以看成1-element,直接上代码:

class Solution:
    def flipAndInvertImage(self, A):
        """
        :type A: List[List[int]]
        :rtype: List[List[int]]
        """
        result = []
        results = []
        for i in A:
            for j in range(0,len(i)):
                result.append(1-i[len(i)-1-j])
            results.append(result)
            result = []
        return results

但是,不能得意啊,看了一个很pythonic的写法,一行代码搞定了[2],用了生成器,

return [[1-i for i in row[::-1]] for row in A]

Ref:
[1] https://leetcode.com/problems/flipping-an-image/description/
[2] https://leetcode.com/problems/flipping-an-image/discuss/132026/Python-1-line

猜你喜欢

转载自blog.csdn.net/woai8339/article/details/81491066