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

网站变灰色代码长沙专业seo优化公司

网站变灰色代码,长沙专业seo优化公司,农业网站怎么做,高端网站建设文案文章目录 题目 一、思路: 二、代码 总结 题目 leetcodeT289 https://leetcode.cn/problems/game-of-life/description/ 一、思路: 这题思路很简单,对每个位置按照题目所给规则进行遍历,判断周围网格的活细胞数即可。但是题目要求…

文章目录

题目

一、思路:

二、代码

总结


题目

leetcodeT289 https://leetcode.cn/problems/game-of-life/description/


一、思路:

这题思路很简单,对每个位置按照题目所给规则进行遍历,判断周围网格的活细胞数即可。但是题目要求只能在原来的矩阵上进行操作,不能新建一个矩阵数组,因此我们只能更新原有数组,但是注意到在循环程序中我们只能一个一个网格更新状态,这样一个网格状态如果在原位置更新的话,就会影响到周围还没有更新状态的网格,会导致周围网格的状态错误。因此,我们需要记录网格的更新前的状态和更新后的状态,由于网格只有0、1两个状态,只用到1位,而矩阵是int型,我们可以用一位来记录更新前的状态,用另一位来记录更新后的状态。

二、代码

class Solution {public void gameOfLife(int[][] board) {int n = board.length;int m = board[0].length;for(int i = 0; i < n; i++) {for(int j = 0; j < m; j++) {int cnt = 0;for(int x = - 1; x <= 1; x++) {for(int y = -1; y <= 1; y++) {// 枚举四面八方八个方向 防止越界if(i + x >= 0 && i + x < n && j + y >= 0 && j + y < m && !(x == 0 && y == 0)) {// 用当前状态存储八个方向的1的个数cnt += board[i + x][j + y] & 1; }}}// 更新状态if(board[i][j] == 1) {if(cnt < 2 || cnt > 3) board[i][j] = 1; // 01else board[i][j] = 3; // 11}else {if(cnt == 3) board[i][j] = 2; // 10else board[i][j] = 0; // 0}}}// 更新状态 右移1位即可for(int i = 0; i < n; i++)for(int j = 0; j < m; j++){board[i][j] = board[i][j] >> 1;}}
}


总结

通过二进制位运算的思想可以存储两个状态,用来避免更新对下面操作的影响。

http://www.mmbaike.com/news/75624.html

相关文章:

  • 看wordpress导出文章电脑优化软件哪个好用
  • 北京欢迎你网站建设长春网站建设路
  • 自建站服务国外域名注册
  • 百度商城购物厦门seo测试
  • 台州网站建设seo百度自动点击器
  • 电脑做ppt模板下载网站站长工具ip地址
  • 网站ico关键词推广排名软件
  • 沈阳高端网站定制百度网页版
  • 网站建设责任分工南宁做网站公司
  • 丰县网站建设seo免费优化工具
  • 做a视频 免费网站磁力屋 最好用
  • 注册公司需要登录的网址seo公司排名
  • 深圳建站公司推荐成都谷歌seo
  • 宁波正规网站seo公司网络营销策划目的
  • 四川建设网站首页seo提供服务
  • wordpress 安装平台网站优化方案
  • 厦门网站快照优化公司seo自己怎么做
  • 网站流量在哪设置seo每天一贴
  • 微信如何做微商城网站建设关键词看片
  • 网站优化的意义山东建站
  • 开展农业信息网站建设工作总结对百度竞价排名的看法
  • 微商软件批发商城总站独立站seo怎么做
  • wordpress+好用插件合肥关键词优化平台
  • seo是怎么优化上去百度seo优化包含哪几项
  • 启迪网站建设私密浏览器免费版
  • 批量建wordpress重庆seo论
  • 开一个网络公司需要多少钱抖音seo点击软件排名
  • 网站开发人员要求安全优化大师下载
  • 做冻品海鲜比较大的网站有哪些江门网站开发多少钱
  • 一个空间怎么做多个网站今日头条国际军事新闻