# LeetCode 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`

`python` 代码：

```class Solution(object):
def flipAndInvertImage(self, A):
"""
:type A: List[List[int]]
:rtype: List[List[int]]
"""
A_length = len(A)
A_length_index = len(A[A_length-1])
for i in range(A_length):
A[i].reverse()

for i in range(A_length):
for j in range(A_length_index):
if A[i][j] == 0:
A[i][j] = 1
else:
A[i][j] = 0
return A```

`C++` 代码：

```class Solution {
public:
vector<vector<int>> flipAndInvertImage(vector<vector<int>>& A) {
vector<vector<int>> B(A.size());
//vector<int>::reverse_iterator r_iter;
for(int i = 0; i < B.size(); i++){
B[i].resize(A[0].size());
}

for(int i = 0; i < A.size(); i++){
int x = 0;
for(int j = A[i].size()-1; j >= 0; j--){
B[i][x] = A[i][j];
x = x + 1;
}
}

for(int i = 0; i < B.size(); i++){
for(int j = 0; j < B[i].size(); j++){
if(B[i][j] == 1){
B[i][j] = 0;
}
else{
B[i][j] = 1;
}
}
}
return B;
}
};```

0 条评论

• ### 51Nod 1083 矩阵取数问题(矩阵取数dp,基础题)

1083 矩阵取数问题 基准时间限制：1 秒 空间限制：131072 KB 分值: 5 难度：1级算法题 一个N*N矩阵中有不同的正整数，经过这个格子，就能获得...

• ### HDU 2566 统计硬币

统计硬币 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java...

• ### COGS 144. [USACO Dec07] 魅力手镯【01背包复习】

144. [USACO Dec07] 魅力手镯 ★   输入文件：charm.in   输出文件：charm.out 简单对比 时间限制：1 s   内存限制...

• ### 视频动作识别--Towards Good Practices for Very Deep Two-Stream ConvNets

Towards Good Practices for Very Deep Two-stream ConvNets http://yjxiong.me/oth...

• ### 暑假集训之专题----拓扑排序题解

第一单： Problem A Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/3276...

• ### 相机标定黑白格纸生成（提供PDF版下载）

小白近期对相机进行了标定，关于相机标定的原理和方法网上比较多，讲解也比较详细，这里小白也就不再重复，如果有对原理不是很清晰的小伙伴，可以后台私密我。

• ### 根据后序和中序遍历输出先序遍历

版权声明：本文为博主原创文章，遵循 CC 4.0 BY-SA 版权协议，转载请附上原文出处链接和本声明。 ...

• ### 蓝桥杯省内模拟赛C++

问题描述 　　将LANQIAO中的字母重新排列，可以得到不同的单词，如LANQIAO、AAILNOQ等，注意这7个字母都要被用上，单词不一定有具体的英文意义。...

• ### App基于手机壳颜色换肤？先尝试一下用 KMeans 来提取图像中的主色

上周，某公司的产品经理提了一个需求：根据用户手机壳颜色来改变 App 主题颜色。可能是由于这天马行空的需求激怒了程序员，导致程序员和产品经理打了起来，最后双双被...