Leetcode 832.翻转图像
1.题目描述
给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果。
水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]。
反转图片的意思是图片中的 0 全部被 1 替换, 1 全部被 0 替换。例如,反转 [0, 1, 1] 的结果是 [1, 0, 0]。
示例 1:
输入: [[,,],[,,],[,,]]
输出: [[,,],[,,],[,,]]
解释: 首先翻转每一行: [[,,],[,,],[,,]];
然后反转图片: [[,,],[,,],[,,]]
示例 2:
输入: [[,,,],[,,,],[,,,],[,,,]]
输出: [[,,,],[,,,],[,,,],[,,,]]
解释: 首先翻转每一行: [[,,,],[,,,],[,,,],[,,,]];
然后反转图片: [[,,,],[,,,],[,,,],[,,,]]
说明:
1 <= A.length = A[0].length <= 200 <= A[i][j] <= 1
2.我的代码
//卸去对C语言的兼容,加速执行
/*static const auto KSpeedUp = [](){
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
return nullptr;
}();*/ class Solution {
public:
vector<vector<int>> flipAndInvertImage(vector<vector<int>>& A) {
//翻转每一行,反转每一行
for(auto& a : A){
reverse(a);
overturn(a);
}
return A;
} //反转
vector<int> overturn(vector<int>& nums){
for(auto& c : nums){
c = (c==)? : ;
}
return nums;
} //翻转(逆序)
vector<int> reverse(vector<int>& nums){
int sz = nums.size();
for(int i=; i<=sz/-; ++i){
swap(nums[i],nums[sz-i-]);
}
return nums;
}
};
3.局部优化代码
- reverse()函数支持对向量的翻转,无需自己造轮子;
- 1变0,0变1的技巧:c = 1 - c;
class Solution {
public:
vector<vector<int>> flipAndInvertImage(vector<vector<int>>& A) {
//翻转每一行,反转每一行
for(auto& a : A){
reverse(a.begin(),a.end());//注意:使用迭代器调用
overturn(a);
}
return A;
}
//反转
vector<int> overturn(vector<int>& nums){
for(auto& c : nums){
//c = (c==0)? 1 : 0;
c = -c;
}
return nums;
}
};
4.Leetcode的置顶范例
class Solution {
public:
vector<vector<int>> flipAndInvertImage(vector<vector<int>>& A) {
if (A.empty()) return A;
for (vector<int> &row : A)
{
reverse(row.begin(), row.end());//逆序每一行
for_each(row.begin(), row.end(), [](int& x){x = ^x; });//反转每一行 for_each遍历+lambda表达式
}
return A;
}
};
参考资料:
1.论C++11 中vector的N种遍历方法 (for_each遍历+Lambda函数)
Leetcode 832.翻转图像的更多相关文章
- Java实现 LeetCode 832 翻转图像(位运算)
832. 翻转图像 给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果. 水平翻转图片就是将图片的每一行都进行翻转,即逆序.例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, ...
- 力扣(LeetCode)832. 翻转图像
给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果. 水平翻转图片就是将图片的每一行都进行翻转,即逆序.例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]. 反转图片的 ...
- 力扣832. 翻转图像-C语言实现-简单题
题目 传送门 文本 给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果. 水平翻转图片就是将图片的每一行都进行翻转,即逆序.例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, ...
- Leetcode#832. Flipping an Image(翻转图像)
题目描述 给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果. 水平翻转图片就是将图片的每一行都进行翻转,即逆序.例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]. ...
- [LeetCode] Flipping an Image 翻转图像
Given a binary matrix A, we want to flip the image horizontally, then invert it, and return the resu ...
- C#版(击败100.00%的提交) - Leetcode 151. 翻转字符串里的单词 - 题解
版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. C#版 - L ...
- LeetCode:翻转二叉树【226】
LeetCode:翻转二叉树[226] 题目描述 翻转一棵二叉树. 示例: 输入: 4 / \ 2 7 / \ / \ 1 3 6 9 输出: 4 / \ 7 2 / \ / \ 9 6 3 1 题目 ...
- leetcode-832翻转图像
翻转图像 思路: 先对图像进行水平翻转,然后反转图片(对每个像素进行异或操作) 代码: class Solution: def flipAndInvertImage(self, A: List[Lis ...
- leetcode python翻转字符串里的单词
# Leetcode 151 翻转字符串里的单词### 题目描述给定一个字符串,逐个翻转字符串中的每个单词. **示例1:** 输入: "the sky is blue" 输出: ...
随机推荐
- VSCode打开已有vuejs项目
转载自 https://blog.csdn.net/yoryky/article/details/78290443 下载安装并配置VSCode 随便百度上搜个最新的VSCode安装好后,点击Ctrl ...
- SST:Single-Stream Temporal Action Proposals论文笔记
SST:Single-Stream Temporal Action Proposals 这是本仙女认认真真读完且把算法全部读懂(其实也不是非常懂)的第一篇论文 CVPR2017 一作 论文写作的动机m ...
- 自然语言处理 - 如何通俗地理解TFIDF?
本博客属个人学习笔记,如有疏漏,欢迎在评论留言指出~转载请注明. 在自然语言处理中,TFIDF常常被人提及.很多材料都提及TFIDF中的“普遍重要性”,但很少有材料去简单解释其中的原理.TFIDF其实 ...
- Cannot find class [org.springframework.http.converter.json.MappingJacksonHttpMessageConverter]
<!--避免IE执行AJAX时,返回JSON出现下载文件 --> <bean id="mappingJacksonHttpMessageConverter" cl ...
- 17 Tips For Writing An Excellent Email Subject Line
Out of the billions of emails that are sent every day, how can you make sure that yours stands out? ...
- Wacom将在CES 2015上发布全新旗舰版Cintiq
Cintiq 27QHD和Cintiq 27QHD touch拥有宽大的工作表面,以及令人惊喜的屏幕笔触和颜色性能. 2015年1月6日,Wacom发布了Cintiq 27QHD和Cintiq 27Q ...
- python基础知识-03-字符串
python其他知识目录 1.for循环遍历字符串中单个字符 s_str="mcw" for i in s_str: print(i) -----------结果: m c w 2 ...
- hive on hbase 数据表关联
有时,数据可以容易的存储在hive中,但是要导入到hbase里,可以不用写MR程序来操作,可以使用hive on hbase方式来创建相应的表关联关系来将hive中的数据导入到对应的hbase的表里, ...
- Thunder——互评beta版本
基于NABCD和spec评论作品 Hello World!:http://www.cnblogs.com/vector121/p/7922989.html 欢迎来怼:http://www.cnblog ...
- IDEA + SSH OA 第一天(Hibernate : Mapping (RESOURCE) not found)
切入主题,看看今天的错误是如何发生的: 首先这是我的项目路径,java 是 Sources Root , resources 是 Resources Root ,放了所需要的配置文件,其中 Hiber ...