leetcode 289. Game of Life
来源:互联网 发布:淘宝iphone7可信度 编辑:程序博客网 时间:2024/06/08 14:33
leetcode 289. Game of Life
谷歌的面试题果然很开眼界,比如这题,用两bit来表示前后两次的状态,很巧妙。
public class Solution { public void gameOfLife(int[][] board) { if(board==null||board.length==0) return; int m = board.length; int n = board[0].length; // if(n==0) return; for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ int lives = getlivesaround(board,m,n,i,j); if(board[i][j]==1&&(lives==2||lives==3)){ board[i][j] = 3; // 11<-01 } if(board[i][j]==0&&lives==3){ board[i][j] = 2; // 10<-00 } } } for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ board[i][j] = board[i][j]>>1; } } } private int getlivesaround(int[][] board, int m, int n, int i, int j){ int lives = 0; for(int h = Math.max(i-1,0);h <= Math.min(i+1, m-1);h++){ for(int k = Math.max(j-1,0);k <= Math.min(j+1, n-1);k++){ lives += board[h][k]&1; } } lives -= board[i][j]&1; return lives; }}
阅读全文
0 0
- [leetcode] 289. Game of Life
- 289. Game of Life LeetCode
- leetcode 289. Game of Life
- [LeetCode]289. Game of Life
- LeetCode 289. Game of Life
- LeetCode *** 289. Game of Life
- 【leetcode】289. Game of Life
- LeetCode 289. Game of Life
- LeetCode-289.Game of Life
- [Leetcode]289. Game of Life
- LeetCode--289. Game of Life
- [leetcode] 289. Game of Life
- [LeetCode] 289. Game of Life
- [leetcode]289. Game of Life
- [LeetCode]289. Game of Life
- [LeetCode]289. Game of Life
- 【LeetCode】 289. Game of Life
- LeetCode 289. Game of Life
- module.export exports的区别
- JDBC详解
- 利用时间戳获取想要的时间
- java使用poi读取xlsx格式的Excel总结
- 在MacOS上部署Nginx+flup+flask+mysql
- leetcode 289. Game of Life
- 学习uboot前奏之hardware-mmu[s3c2440]
- CDSN转发博客
- SpringBoot--入门篇
- 633. Sum of Square Numbers标题
- 递归调用
- 1042. 字符统计(20)(字符型数据的输入和处理样例
- bzoj2751 [HAOI2012]容易题(数学+快速幂)
- react native初尝试