微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

832Flipping an Image

/*
Given a binary matrix A,we want to flip the image horizontally,then invert it,and return the resulting image.

To flip an image horizontally means that each row of the image is reversed.  For example,flipping [1,1,0] horizontally results in [0,1].

To invert an image means that each 0 is replaced by 1,and each 1 is replaced by 0. For example,inverting [0,1] results in [1,0].

Example 1:

Input: [[1,0],[1,1],[0,0]]
Output: [[1,1]]
Explanation: First reverse each row: [[0,0]].
Then,invert the image: [[1,1]]

Example 2:

Input: [[1,0]]
Explanation: First reverse each row: [[0,1]].
Then invert the image: [[1,0]]

Notes:

    1 <= A.length = A[0].length <= 20
    0 <= A[i][j] <= 1

/*
解题思路,先翻转数组,然后把0与1互换结束,很简单
*/
class Solution {
    public int[][] flipAndInvertimage(int[][] A) {
        int m = A.length;
        int n = A[0].length;
        int temp;
        for(int k=0;k<m;k++){
            for( int i = 0 ; i < n/2; i++ ){
                temp        =  A[k][i];
                A[k][i]     =  A[k][n-i-1];
                A[k][n-i-1] =  temp;
            }
        }
        
        for(int i=0;i<m;i++){
            for(int j=0;j<n;j++){
                if(A[i][j]==1)
                    A[i][j]=0;
                else
                    A[i][j]=1;
            }
        }
        
        return A;
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐