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

开一个网站建设公司需要什么国外 网页框架搭建的网站

开一个网站建设公司需要什么,国外 网页框架搭建的网站,沈阳网络科技公司排名,创新的做pc端网站题目#xff1a;生命游戏 **描述#xff1a;**根据 百度百科 #xff0c; 生命游戏 #xff0c;简称为 生命 #xff0c;是英国数学家约翰何顿康威在 1970 年发明的细胞自动机。 给定一个包含 m n 个格子的面板#xff0c;每一个格子都可以看成是一个细胞。每个细胞都…题目生命游戏 **描述**根据 百度百科 生命游戏 简称为 生命 是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机。 给定一个包含 m × n 个格子的面板每一个格子都可以看成是一个细胞。每个细胞都具有一个初始状态 1 即为 活细胞 live或 0 即为 死细胞 dead。每个细胞与其八个相邻位置水平垂直对角线的细胞都遵循以下四条生存定律 1.如果活细胞周围八个位置的活细胞数少于两个则该位置活细胞死亡 2.如果活细胞周围八个位置有两个或三个活细胞则该位置活细胞仍然存活 3.如果活细胞周围八个位置有超过三个活细胞则该位置活细胞死亡 4.如果死细胞周围正好有三个活细胞则该位置死细胞复活 下一个状态是通过将上述规则同时应用于当前状态下的每个细胞所形成的其中细胞的出生和死亡是同时发生的。给你 m x n 网格面板 board 的当前状态返回下一个状态。 leetcode链接 输入board [[0,1,0],[0,0,1],[1,1,1],[0,0,0]] 输出[[0,0,0],[1,0,1],[0,1,1],[0,1,0]] 方法一使用额外矩阵 由题目可知我们遍历矩阵里面的每一个细胞然后统计它周围8个细胞活细胞的数量按照题目所设条件如果活细胞的数量大于3个或者小于2个那么该活细胞变死细胞如果活细胞的数量为3个那么该死细胞变为活细胞为了避免我们使用到更新后的细胞状态我们把更新后的细胞状态存储到我们定义的新的矩阵中。 时间复杂度omn 空间复杂度omn void gameOfLife(vectorvectorint board) {int n board.size();int m board[0].size();vectorvectorint new_board board;for(int i0;in;i){for(int j0;jm;j){int hnums count(board,i,j);if((hnums2||hnums3)board[i][j]1){//周围活细胞小于2个或者大于3个该活细胞变成死细胞new_board[i][j] 0;}else if(hnums3board[i][j]0){//周围活细胞数量为3个该死细胞复活new_board[i][j] 1;} }}board new_board;//最后复制为原矩阵中 } int count(vectorvectorint nums,int row,int col){int hnums 0;;for(int i row-1;irow2;i){for(int j col-1;jcol2;j){if(i0j0inums.size()jnums[0].size()nums[i][j]1){hnums;}}}return nums[row][col]1?hnums-1:hnums; } 方法二使用额外的状态 在方法一中我们算法的时间复杂度为o(mn)我们现在考虑原地解决该问题在方法一中如果我们步额外申请矩阵来存储那么我们对于更新后的细胞状态在后续使用时会丢失掉原本最初的细胞状态因此会得到错误的结果那么我们要怎么样在既得到变化后的状态又能够得到最初的状态呢我们为了解决这个问题引入额外的两种状态-1和2第一种-1状态表示细胞原本是活细胞更新后变为死细胞第二种2状态表示细胞原本是死细胞更新后变为活细胞那么我们在统计活细胞的时候状态1和-1都表示原本是活细胞这样就能解决既得到变化后的状态又能够得到最初的状态最后我们只需要对我们新引入的状态对其还原即可。 时间复杂度o(mn) 空间复杂度o(1) void gameOfLife(vectorvectorint board) {int n board.size();int m board[0].size();for(int i0;in;i){for(int j0;jm;j){int livenums count(board,i,j);//周围活细胞的数量if((livenums3||livenums2)board[i][j]1){//周围活细胞数量超过三个或者少于两个该活细胞变成死细胞board[i][j] -1;}else if(livenums3board[i][j]0){//周围活细胞的数量为3个那么该死细胞变成活细胞board[i][j] 2;}}}//最后把我们新定义的状态恢复for(int i0;in;i){for(int j0;jm;j){if(board[i][j]2){board[i][j] 1;}else if(board[i][j]-1){board[i][j] 0;}}} } //统计活细胞的数量 int count(vectorvectorint nums,int row,int col){int hnums 0;;for(int i row-1;irow2;i){for(int j col-1;jcol2;j){if(i0j0inums.size()jnums[0].size()(nums[i][j]1||nums[i][j]-1)){//原本是活细胞的值可能是1或者-1hnums;}}}return nums[row][col]1?hnums-1:hnums; }
http://www.sadfv.cn/news/192965/

相关文章:

  • 有关网站建设的app知名的网站建设公司
  • 网站备案找哪个部门快递网站策划怎么做ppt
  • 大连零基础网站建设教学培训百度首页推广广告怎么做
  • 禹城网站建设电话商标设计网排行
  • 点击图片是网站怎么做的深圳营销型网站方案
  • 东昌网站建设哪里有做网站平台
  • 龙岩网站建设方式如何为wordpress添加ico小图标logo
  • 建站技术论坛什么是网络营销什么是传统营销
  • 网站开发岗位修改wordpress后台地址
  • 浙江理工大学网站设计与建设五屏网站建设哪家有
  • wordpress建淘宝客网站wordpress映射到外网
  • 当地建设局网站中小企业网站开发
  • 阿里巴巴国际网站官网入口以网站建设为开题报告
  • 网站备案 办公室电话企业网站的开发背景
  • 淮安神舟建设招标网站wordpress 主题增加筛选
  • 企业网站改版的好处松江新城建设有限公司网站
  • 临沂网站建设设计wordpress安装空白页
  • 网站关键词怎样优化wordpress5.0漏洞利用
  • ims2009 asp企业网站建设网站开发都有
  • 上海做网站好的公司有哪些西部数据网站建设
  • html静态网站下载做房产网站在百度推广推广费
  • 外贸网站 自建广州越秀区二手房
  • 上海浦东建设集团官方网站网站能需要怎么做才不会被攻击
  • 做网站是用什么软件做的个人购买链接
  • 中山网站备案做logo宣传语的网站
  • 网站开发后端语言有哪些泰安吧百度贴吧
  • 关于网站建设的策划案迪庆网站建设
  • 网站制作推广网站改版如何做301
  • 做网站费用怎么记分录制作网线水晶头线序
  • 电商网站优化方案义乌网页制作