题解 | #棋子翻转#

棋子翻转

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;
    }
}
全部评论

相关推荐

点赞 评论 收藏
分享
11-11 14:21
西京学院 C++
Java抽象练习生:教育背景放最前面,不要耍小聪明
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务