前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LeetCode - 翻转图像

LeetCode - 翻转图像

作者头像
晓痴
发布2019-08-06 16:22:24
5350
发布2019-08-06 16:22:24
举报
文章被收录于专栏:曌的晓痴

LeetCode第832题,难度简单。

原题地址:https://leetcode-cn.com/problems/flipping-an-image/

题目描述

由于微信公众号认为我违反了原创规则,也就是和其他一个人发过的只有题目和代码的公众号文章冲突了,所以我这里就不写题目描述了,辛苦大家自己点开链接去看具体的题目描述了。

解题思路:

首先新建一个K,表示中间点,需要根据A的长度是否是偶数决定。

然后就是按照题目规则,遍历数组中的元素,根据当前的元素是0还是1,先设置一个临时值tmp,待会儿可以直接和A[i][j]对应的A[i][A.length - j - 1]交换值。一次遍历,就把水平翻转和反转图像给完成。

中文官网题解:

https://leetcode-cn.com/problems/flipping-an-image/solution/

个人题解:

代码语言:javascript
复制
class Solution {
    public int[][] flipAndInvertImage(int[][] A) {
        int k = A.length % 2 == 0? A.length /2 : A.length /2 + 1;
        for (int i = 0; i < A.length; i++) {
            for (int j = 0; j < k; j++) {
                int tmp = A[i][j];
                if(tmp == 0){
                    tmp = 1;
                }else if(tmp == 1){
                    tmp = 0;
                }
                if(A[i][A.length - j - 1] == 0){
                    A[i][j] = 1;
                }else if(A[i][A.length - j - 1] == 1){
                    A[i][j] = 0;
                }
                A[i][A.length - j - 1] = tmp;
            }
        }
        return A;
    }
}

结果:

又是一次完美的0ms加超过100%的结果。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 曌的晓痴 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档