原题:https://leetcode.com/problems/game-of-life/description/
这道题目很有意思,主要的challenge是讲的不用额外的空间进行状态保存。
这题目初始的状态为0/1,完成可以用bool来表示,但是题目给的是int;所以可以利用int不同的“位”来标识不同“次数”的信息。比如说修改值修改在“第二位”,当前值是一个“第一位”,所以这样可以不用额外的空间进行临时状态的保存。
延伸一下:
状态压缩,在数独算法里面有利用到,用一个int来标识当前棋盘的所有状态,这里是横向的利用状态压缩。而这用一个int来标识前后两种状态,是可以理解为纵向的状态压缩。