题解 | #棋子翻转#

棋子翻转

http://www.nowcoder.com/practice/a8c89dc768c84ec29cbf9ca065e3f6b4

笨方法来了啊(手动狗头)


public class Solution {
    public int[][] flipChess (int[][] A, int[][] f) {
        for (int i = 0; i < f.length; i ++) {
            int x = f[i][0] - 1;
            int y = f[i][1] - 1;
            if (x == 0 && y == 0) {
                A[x + 1][y] = 1 - A[x + 1][y];
                A[x][y + 1] = 1 - A[x][y + 1];
            }
            if (x == 0 && y == 3) {
                A[x + 1][y] = 1 - A[x + 1][y];
                A[x][y - 1] = 1 - A[x][y - 1];
            }
            if (x == 3 && y == 3) {
                A[x - 1][y] = 1 - A[x - 1][y];
                A[x][y - 1] = 1 - A[x][y - 1];
            }
            if (x == 3 && y == 0) {
                A[x - 1][y] = 1 - A[x - 1][y];
                A[x][y + 1] = 1 - A[x][y + 1];
            }
            if (x == 0 && y > 0 && y < 3) {
                A[x + 1][y] = 1 - A[x + 1][y];
                A[x][y + 1] = 1 - A[x][y + 1];
                A[x][y - 1] = 1 - A[x][y - 1];
            }
            if (x == 3 && y > 0 && y < 3) {
                A[x - 1][y] = 1 - A[x - 1][y];
                A[x][y + 1] = 1 - A[x][y + 1];
                A[x][y - 1] = 1 - A[x][y - 1];
            }
            if (y == 0 && x > 0 && x < 3) {
                A[x][y + 1] = 1 - A[x][y + 1];
                A[x + 1][y] = 1 - A[x + 1][y];
                A[x - 1][y] = 1 - A[x - 1][y];
            }
            if (y == 3 && x > 0 && x < 3) {
                A[x][y - 1] = 1 - A[x][y - 1];
                A[x - 1][y] = 1 - A[x - 1][y];
                A[x + 1][y] = 1 - A[x + 1][y];
            }
            if (x > 0 && x < 3 && y > 0 && y < 3) {
                A[x][y - 1] = 1 - A[x][y - 1];
                A[x][y + 1] = 1 - A[x][y + 1];
                A[x - 1][y] = 1 - A[x - 1][y];
                A[x + 1][y] = 1 - A[x + 1][y];
            }
        }
        return A;
    }
}
全部评论
还是这个方法看着舒服
点赞 回复 分享
发布于 2024-03-15 14:50 陕西

相关推荐

05-25 10:45
门头沟学院 Java
Frank_zhan...:没实习一个项目肯定不够,可以再做一个轮子,技术栈再补一个mq,微服务,整体再换个简历模板,暑期尽量再找一个日常实习
无实习如何秋招上岸
点赞 评论 收藏
分享
06-08 22:25
门头沟学院 Java
从零开始的转码生活:这hr不会打开手机不分青红皂白给所有人群发这句话,过一会再给所有人再发一遍,这肯定会有重复的,不管,再过一会再发一遍
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务