有限状态机之开心的蜗牛

开心的蜗牛

这里我们假设有一只行走在 01 串上的蜗牛,每当它走过 001 的时候,他会在最后这个 1 的位置上“哈”的笑一声,之后紧接着连续走过1就连续发出“哈”声,直到碰到0。

如果用有限状态机来描述这只开心的蜗牛,那么有四个状态:

不笑;
准备笑,走过第一个0;
即将笑,走过一个0后,紧接着走过第二个0;
笑,连续走过两个0之后紧接着遇到连续的1。

输入有两种可能:

走过0;
走过1。

当蜗牛处于“笑”的状态时,会发出“哈”的一声,其余状态不发出声音,你可以尝试绘制一下状态转换图。
测试输入:00011010010001
预期输出:

哈哈哈哈