博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetcodeT832 记录
阅读量:7083 次
发布时间:2019-06-28

本文共 911 字,大约阅读时间需要 3 分钟。

LeetCode T832,Flipping an Image

给定一个二阶矩阵,先做水平逆序,然后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]]

我在做的时候首先想到了暴力求解,两层循环,时间复杂度为O(n^2),

public int[][] flipAndInvertImage(int[][] A) {        int[][] result = new int[A.length][A.length];        int[] temp = new int[A.length];        for (int i = 0; i < A.length; i++) {            for (int j = 0; j < A[i].length; j++) {                result[i][A[i].length - 1 - j] = A[i][j] == 0 ? 1 : 0;            }        }        return result;    }

刚开始刷题,写的比较差,就去看了一下其他的大神的解法,其中有一位大神的解法,让我觉着十分的牛批:

public int[][] flipAndInvertImage(int[][] A) {        int n = A.length;        for (int[] row : A)            for (int i = 0; i * 2 < n; i++)                if (row[i] == row[n - i - 1])                    row[i] = row[n - i - 1] ^= 1;        return A;    }

膜拜,希望有一天我也能成为大神,加油。

转载地址:http://zfmml.baihongyu.com/

你可能感兴趣的文章
react+react-router+redux+react-redux构建一个简单应用
查看>>
shell编程学习之sed
查看>>
Python学习笔记(2)--Python的安装
查看>>
使用cygwin/openSSH搭建windows下的SSH服务器
查看>>
Ubuntu里网卡IP设置的步骤&/etc/passwd文件
查看>>
排序规则引起的冲突问题
查看>>
onTouch事件传递机制
查看>>
那些年的坑--双精度数值转成整形
查看>>
宽依赖、窄依赖
查看>>
好程序员web前端系列之CSS3-3D
查看>>
xm 命令详解
查看>>
HttpClient4.x send json request
查看>>
mysql5.6基于GTID的主从复制
查看>>
iOS 获取Wifi的SSID及MAC地址
查看>>
认识六个被误解的Ruby特性
查看>>
Java线程:并发协作-生产者消费者模型
查看>>
libvirt API非阻塞调用及相关的原理分析
查看>>
老男孩第十四期Python学习班之Day06
查看>>
初尝Arduino
查看>>
使用 Apache POI 处理 Microsoft Office 文档
查看>>