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];
                }
            }
        }
    }
}
相关推荐
许彰午13 小时前
我手写了一个 Java 内存数据库(二):B+ 树的插入与分裂
java·开发语言·面试
weisian15117 小时前
基础篇--概念原理-2-参数是什么?——从原理到实战,一篇讲透
面试·职场和发展·模型参数·7b和70b·参数=规则,不是原始数据
AI人工智能+电脑小能手18 小时前
【大白话说Java面试题】【Java基础篇】第26题:Java的抽象类和接口有哪些区别
java·开发语言·面试
逻辑驱动的ken21 小时前
Java高频面试考点场景题20
java·开发语言·深度学习·面试·职场和发展
Wect21 小时前
深度剖析浏览器跨域问题
前端·面试·浏览器
刀法如飞1 天前
Java数组去重的20种实现方式——指导AI解决不同问题的思路
java·算法·面试
ayqy贾杰1 天前
Cursor SDK发布!开发者可直接搬走其内核
前端·vue.js·面试
JAVA面经实录9171 天前
Java企业级工程化·终极完整版背诵手册(无遗漏、全覆盖、面试+落地通用)
java·开发语言·面试
小程故事多_801 天前
[大模型面试系列] 多轮对话 Agent 设计实战(含窗口优化 + 工具调用精髓)
人工智能·面试·职场和发展
AI人工智能+电脑小能手2 天前
【大白话说Java面试题】【Java基础篇】第24题:Java面向对象有哪些特征
java·开发语言·后端·面试