zoukankan      html  css  js  c++  java
  • 832. 翻转图像

    给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果。

    水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转 [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]]
    

    示例 2:

    输入:[[1,1,0,0],[1,0,0,1],[0,1,1,1],[1,0,1,0]]
    输出:[[1,1,0,0],[0,1,1,0],[0,0,0,1],[1,0,1,0]]
    解释:首先翻转每一行: [[0,0,1,1],[1,0,0,1],[1,1,1,0],[0,1,0,1]];
         然后反转图片: [[1,1,0,0],[0,1,1,0],[0,0,0,1],[1,0,1,0]]
    

    提示:

    • 1 <= A.length = A[0].length <= 20
    • 0 <= A[i][j] <= 1
    class Solution:
        def flipAndInvertImage(self, A: List[List[int]]) -> List[List[int]]:
            res=[]
            for i in A:
                res.append(i[::-1])
            for i in range(len(A)):
                for j in range(len(A[0])):
                    if res[i][j]==1:
                        res[i][j]=0
                    else:
                        res[i][j]=1
            return res

    class Solution:
        def flipAndInvertImage(self, A: List[List[int]]) -> List[List[int]]:
            for i in A:
                i.reverse()
            for i in range(len(A)):
                for j in range(len(A[0])):
                    A[i][j]=1-A[i][j]
            return A

    class Solution:
        def flipAndInvertImage(self, A: List[List[int]]) -> List[List[int]]:
            for i in range(len(A)):
                for j in range((len(A)+1)//2):
                    if A[i][j]==A[i][-1-j]:
                        A[i][j]=A[i][-1-j]=1-A[i][j]
            return A

  • 相关阅读:
    PAT Basic Level 1013
    PAT Basic Level 1012
    PAT Basic Level 1011
    PAT Basic Level 1009
    PAT Basic Level 1010
    PAT Basic Level 1008 *
    PAT Basic Level 1007 *
    .NET Entity Framework入门简介及简单操作
    SQL Server 查询处理中的各个阶段(SQL执行顺序)
    泛型优点和特性
  • 原文地址:https://www.cnblogs.com/xxxsans/p/14439511.html
Copyright © 2011-2022 走看看