给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果。

水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]。

反转图片的意思是图片中的 0 全部被 1 替换, 1 全部被 0 替换。例如,反转 [0, 1, 1] 的结果是 [1, 0, 0]。

示例 1:

输入: [[1,1,0],[1,0,1],[0,0,0]]

输出: [[1,0,0],[0,1,0],[1,1,1]]

解释: 首先翻转每一行: [[0,1,1],[1,0,1],[0,0,0]];

然后反转图片: [[1,0,0],[0,1,0],[1,1,1]]

示例 2:

输入: [[1,1,0,0],[1,0,0,1],[0,1,1,1],[1,0,1,0]]

输出: [[1,1,0,0],[0,1,1,0],[0,0,0,1],[1,0,1,0]]

解释: 首先翻转每一行: [[0,0,1,1],[1,0,0,1],[1,1,1,0],[0,1,0,1]];

然后反转图片: [[1,1,0,0],[0,1,1,0],[0,0,0,1],[1,0,1,0]]

说明:

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

0 <= A[i][j] <= 1

Java版

class Solution {
public int[][] flipAndInvertImage(int[][] A) {
int rows = A.length; //行大小
int cols = A[0].length; //列大小
int i,j;
//水平翻转
for(i=0;i<rows;i++) {
for(j=0;j<cols/2;j++) {
int k = cols-j-1;
int temp = A[i][j];
A[i][j] = A[i][k];
A[i][k] = temp;
}
}
//反转图片
for(i=0;i<rows;i++) {
for(j=0;j<cols;j++) {
A[i][j]=1-A[i][j];
}
} return A;
}
}

运行结果

最新文章

  1. [LeetCode] Add Strings 字符串相加
  2. Linux中不同主机建立免登陆
  3. [ios]关于用FMDB 操作数据库 删除 tableView 后刷新
  4. 安装springboot时遇到 LoggerFactory is not a Logback LoggerContext but Logback is on the classpath.问题
  5. C语言中两位ASCII码可以表示汉字
  6. hdu4965 Fast Matrix Calculation (矩阵快速幂 结合律
  7. HTML标记之a标签
  8. SVN使用安装
  9. def
  10. python学习应用笔记(一)
  11. WWH学习模式
  12. UVA 11090 Going in Cycle!! 环平均权值(bellman-ford,spfa,二分)
  13. DIY 博客全文界面的推荐、反对、加关注、返回顶部、快速评论等小功能的集成
  14. Remove highlight from document(Aspose Word 删除高亮)
  15. (转)模板引擎类dedetemplate.class.php使用说明
  16. photoshop sdk
  17. ASP.NET MVC局部视图
  18. 用CSS美化checkbox复选按钮和raido单选按钮-适用于移动端
  19. pt工具主从一致性检查并修复以及版本3.0.4的版本缺点
  20. 错误:Could not find a getter for CreatTime in class

热门文章

  1. 登录实现之servlet和SpringMVC
  2. DOS下读取spd信息的汇编程序(通过SMBus)
  3. redis 缓存锁的实现方法
  4. DOM EventListener
  5. mysql/mariadb应该使用utf8mb4而不是utf8
  6. Linux pip 命令无法使用问题
  7. 一个简单的购物金额结算(JAVA)
  8. win-Linux文件脚本迁移过程中的问题 syntax error: unexpected end of file
  9. 使用velocity 小技巧
  10. Linux内核中的wake_lock[【转】