day20(11.21)——leetcode面试经典150

289. 生命游戏

289. 生命游戏

题目:

题解:

java 复制代码
class Solution {
    public void gameOfLife(int[][] board) {
        // 计算长和宽
        int x_len = board.length;
        int y_len = board[0].length;
        //标记要变化的位置
        boolean[][] flag=new boolean[x_len][y_len]; 
        for(int i=0;i<x_len;i++) {
            for(int j=0;j<y_len;j++) {
                //周围活细胞的数量
                int sum=0;
                for(int x=-1;x<=1;x++) {
                    for(int y=-1;y<=1;y++) {
                        if(x==0&&y==0) {
                            continue;
                        }
                        int xx=i+x;
                        int yy=j+y;
                        //如果没有超出边界,那么进行统计当前活细胞的数量
                        if(xx<x_len&&yy<y_len&&xx>=0&&yy>=0) {
                            sum+=board[xx][yy];
                        }
                    }
                }
                if(board[i][j]==1) {
                    if(sum<2) {
                        flag[i][j]=true;
                    }
                    else if(sum>3) {
                        flag[i][j]=true;
                    }
                }
                else {
                    if(sum==3) {
                        flag[i][j]=true;;
                    }
                }
            }
        }
        for(int i=0;i<x_len;i++) {
            for(int j=0;j<y_len;j++) {
                if(flag[i][j]==true) {
                    board[i][j]=1-board[i][j];
                }
            }
        }
    }
}
相关推荐
测试涛叔1 小时前
金三银四软件测试面试题(800道)
软件测试·面试·职场和发展
C雨后彩虹3 小时前
计算疫情扩散时间
java·数据结构·算法·华为·面试
蒹葭玉树4 小时前
【C++上岸】C++常见面试题目--操作系统篇(第二十八期)
linux·c++·面试
多米Domi0117 小时前
0x3f 第48天 面向实习的八股背诵第五天 + 堆一题 背了JUC的题,java.util.Concurrency
开发语言·数据结构·python·算法·leetcode·面试
win x11 小时前
JavaSE(基础)高频面试点及 知识点
java·面试·职场和发展
编程彩机11 小时前
互联网大厂Java面试:从分布式缓存到消息队列的技术场景解析
java·redis·面试·kafka·消息队列·微服务架构·分布式缓存
xiaoye-duck12 小时前
C++ string 底层原理深度解析 + 模拟实现(上)——面试 / 开发都适用
c++·面试·stl
小旭952713 小时前
Java 反射详解
java·开发语言·jvm·面试·intellij-idea
indexsunny13 小时前
互联网大厂Java求职面试实战:Spring Boot微服务与Kafka消息队列应用解析
java·数据库·spring boot·微服务·面试·kafka·jpa
源代码•宸14 小时前
Golang面试题库(Interface、GMP)
开发语言·经验分享·后端·面试·golang·gmp·调度过程