题解 | #棋子翻转#

棋子翻转

https://www.nowcoder.com/practice/a8c89dc768c84ec29cbf9ca065e3f6b4?tpId=196&tqId=39481&rp=1&ru=/exam/oj&qru=/exam/oj&sourceUrl=%2Fexam%2Foj&difficulty=undefined&judgeStatus=undefined&tags=595&title=

简单模拟,唯一要考虑的就是越界问题

class Solution {
public:
    vector<vector<int> > flipChess(vector<vector<int> >& A, vector<vector<int> >& f) {
        // write code here
        int n=f.size();
        for(int i=0;i<n;i++){
            int x=f[i][0]-1,y=f[i][1]-1;
            if(x-1>=0){   //判断越界情况;
                A[x-1][y]=A[x-1][y]==0?1:0;  //利用三目运算符进行翻转;
            }
            
            if(x+1<4){
                A[x+1][y]=A[x+1][y]==0?1:0;
            }
            
            if(y-1>=0){
                A[x][y-1]=A[x][y-1]==0?1:0;
            }
            
            if(y+1<4){
                A[x][y+1]=A[x][y+1]==0?1:0;
            }
            
        }
        return A;
    }
};

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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