• 【LeetCode】 289. 生命游戏(c++暴力版)


    class Solution {
    public:
        void gameOfLife(vector<vector<int>>& board) {
            vector<vector<int>> result;
            for(int i=0;i<board.size();i++){
                vector<int> temp; //暂存一行
                for(int j=0;j<board[i].size();j++){
                    if(board[i][j]==1){
                        int count=-1;
                        for(int m=0;m<3;m++){
                            for(int n=0;n<3;n++){
                                //计算活细胞的个数时要注意vector不要越界
                                if(i-1+m>=0 && i-1+m<board.size() && j-1+n>=0 && j-1+n<board[i].size() && board[i-1+m][j-1+n]==1){
                                    count++;
                                }
                            }
                        }
                        if(count<2||count>3){
                            temp.push_back(0);
                        }
                        else{
                            temp.push_back(1);
                        }
                    }
                    else{
                        int count=0;
                        for(int m=0;m<3;m++){
                            for(int n=0;n<3;n++){
                                if(i-1+m>=0 && i-1+m<board.size() && j-1+n>=0 && j-1+n<board[i].size() && board[i-1+m][j-1+n]==1){
                                    count++;
                                }
                            }
                        }
                        if(count==3){
                            temp.push_back(1);
                        }
                        else{
                            temp.push_back(0);
                        }
                    }
                }
                result.push_back(temp);
            }
            for(int i=0;i<result.size();i++){
                for(int j=0;j<result[i].size();j++){
                    board[i][j]=result[i][j];
                }
            }
        }
    };
  • 相关阅读:
    洛谷1069 细胞分裂
    洛谷1050 循环
    CF Good Bye 2018
    洛谷1043 数字游戏
    洛谷1041 传染病控制
    洛谷1040 加分二叉树
    洛谷1039 侦探推理
    洛谷1038 神经网络
    设计模式的区别
    volatile和synchronized与lock的理解
  • 原文地址:https://www.cnblogs.com/Neptunejiang/p/12619187.html
Copyright © 2020-2023  润新知