leetcode讲解–832. Flipping an Image

38次阅读

共计 1142 个字符,预计需要花费 3 分钟才能阅读完成。

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

题目地址
这一题是再基础不过的题了,考察的算法硬要说的话还是有一个:翻转一个序列。
java 代码
class Solution {
public int[][] flipAndInvertImage(int[][] A) {
for(int i=0;i<A.length;i++){
reverseAndInvert(A[i]);
}
return A;
}

public void reverseAndInvert(int[] A){
for(int i=0;i<A.length/2;i++){
int temp = A[i];
A[i] = A[A.length-1-i];
A[A.length-1-i] = temp;
}
for(int i=0;i<A.length;i++){
if(A[i]==0){
A[i]=1;
}else{
A[i]=0;
}
}
}
}

正文完
 0