Flipping an Image-LeetCode#832

832. Flipping 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, 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, 1] results in [1, 0, 0].
Example 1:

Input: [[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]]

Example 2:

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

Notes:

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

给定二进制矩阵A,我们想要水平翻转图像,然后反转它,并返回结果图像。
水平翻转图像意味着图像的每一行都是相反的。例如,水平翻转 [1, 1, 0] 会产生 [0, 1, 1] 。
反转图像意味着每个 0 被 1 替换,每个 1 被 0 替换。例如,反转 [0, 1, 1] 会产生 [1, 0, 0] 。

public class FlippingAnImage {
    public int[][] flipAndInvertImage(int[][] A) {
        int[][] res = new int[A.length][];
        for (int i = 0; i < A.length; i++) {
            res[i] = reverse(A[i]);
        }
        return res;
    }
    private int[] reverse(int[] reverseTemp) {
        for (int i = 0; i < reverseTemp.length / 2; i++) {
            int t = reverseTemp[i];
            reverseTemp[i] = reverseTemp[reverseTemp.length - i - 1];
            reverseTemp[reverseTemp.length - i - 1] = t;
        }
        for (int i = 0; i < reverseTemp.length; i++) {
            if (reverseTemp[i] == 0){
                reverseTemp[i] = 1;
            }else {
                reverseTemp[i] = 0;
            }
        }
        return reverseTemp;
    }
    public static void main(String[] args) {
        FlippingAnImage flippingAnImage = new FlippingAnImage();
        int[][] A = {{1, 1, 0}, {1, 0, 1}, {0, 0, 0}};
        flippingAnImage.flipAndInvertImage(A);
    }
}
文章已创建 112

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部