题解 | #棋子翻转#

棋子翻转

http://www.nowcoder.com/practice/0b5ab6cc51804dd59f9988ad70d8c4a0

暴力解法,按照f中的顺序一个个的判断+改变 和1做异或

import java.util.*;

public class Flip {
    public int[][] flipChess(int[][] A, int[][] f) {
        // write code here
        if(A==null||A.length==0||f==null||A.length==0) return null;
        for(int n=0;n<f.length;n++){
            int i=f[n][0]-1,j=f[n][1]-1;//左上角坐标为1,1 所以减1
            if(i-1>=0){
                A[i-1][j] ^= 1;
            }
            if(j-1>=0){
                A[i][j-1] ^= 1;
            }
            if(i+1<A.length){
                A[i+1][j] ^=1;
            }
            if(j+1<A[i].length){
                A[i][j+1] ^=1;
            }
        }
        return A;
    }
}
全部评论

相关推荐

06-11 13:34
门头沟学院 C++
offe从四面八方来:我真的没时间陪你闹了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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