当前位置: 首页 > news >正文

Leetcode—289. 生命游戏【中等】

2024每日刷题(126)

Leetcode—289. 生命游戏

在这里插入图片描述

算法思想

在这里插入图片描述

实现代码

class Solution {
public:void gameOfLife(vector<vector<int>>& board) {int rows = board.size();int cols = board[0].size();int neighbors[3] = {0, 1, -1};vector<vector<int>> copyBoard(rows, vector<int>(cols, 0));for(int i = 0; i < rows; i++) {for(int j = 0; j < cols; j++) {copyBoard[i][j] = board[i][j];}}int r, c;for(int i = 0; i < rows; i++) {for(int j = 0; j < cols; j++) {int liveNum = 0;for(int row = 0; row < 3; row++) {for(int col = 0; col < 3; col++) {if(!(neighbors[row] == 0 && neighbors[col] == 0)) {r = i + neighbors[row];c = j + neighbors[col];if((r >= 0 && r < rows) && (c >= 0 && c < cols) &&(copyBoard[r][c] == 1)) {liveNum++;}}}}// 条件1、3if((board[i][j] == 1) && (liveNum < 2 || liveNum > 3)) {board[i][j] = 0;}// 条件4if(board[i][j] == 0 && liveNum == 3) {board[i][j] = 1;}}}}
};

运行结果

在这里插入图片描述
之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

http://www.lryc.cn/news/344535.html

相关文章:

  • 系统运维(虚拟化)
  • Linux域名解析
  • 树形结构和列表的区别
  • Go中json的解析和反解析
  • SpringBoot+vue实现退出功能
  • Linux操作系统中管理磁盘的另外一种操作方式。即LVM——逻辑卷管理操作
  • Lua 零基础入门
  • 记录DemoApplication.java不变蓝问题
  • 22_Scala集合Seq
  • 机器学习初学者 6 个核心算法!建议收藏,反复观看!
  • SpringBoot 打包所有依赖
  • QpushButton绘制圆角矩形并绘制背景颜色
  • Core Impact 21.5 (Windows) - 高级渗透测试
  • 【Web前端】定位_浮动_音视频
  • 【Osek网络管理测试】[TG4_TC3]LimpHome状态下的睡眠中断
  • 【QT教程】QT6硬件数据库编程 QT硬件数据库
  • unaipp推荐算法的汽车租赁系统zaxzu 微信小程序hbuiderx
  • STM32单片机中C语言的一些隐藏bug
  • 车载测试到底怎么样?真实揭秘!
  • RustGUI学习(iced)之小部件(八):如何使用svg部件显示矢量图形?
  • gitlab设置保护分支
  • 五月加仓比特币
  • 为什么需要归档和管理合同
  • 什么是DMA? STM32如何配置DMA?
  • 交友软件源码-源码+搭建+售后,上线即可运营聊天交友源码 专业语聊交友app开发+源码搭建-快速上线
  • c++多线程2小时速成
  • 大模型日报2024-05-09
  • QGraphicsView实现简易地图11『指定层级-定位坐标』
  • UE5 蓝图入门
  • 英语单词学习