题解 | #棋子翻转#

棋子翻转

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

相关推荐

不愿透露姓名的神秘牛友
昨天 17:16
科大讯飞 算法工程师 28.0k*14.0, 百分之三十是绩效,惯例只发0.9
点赞 评论 收藏
分享
点赞 评论 收藏
分享
10-25 12:05
已编辑
湖南科技大学 Java
若梦难了:我有你这简历,已经大厂乱杀了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务