有一个特殊的5建键盘,上面有a,ctrl-c,ctrl-x,ctrl-v,ctrl-a五个键

a键在屏幕上输入一个字母a;ctrl-c将当前选择的字母复制到剪贴板;ctrl-x将当前选择的字母复制到剪贴板,并清空选择的字母;

ctrl-v将当前剪贴板里的字母输出到屏幕;ctrl-a选择当前屏幕上的所有字母。

注意:

1、剪贴板初始为空,新的内容被复制到剪贴板时会覆盖原来的内容

2、当屏幕上没有字母时,ctrl-a无效

3、当没有选择字母时,ctrl-c和ctrl-x无效

4、当有字母被选择时,a和ctrl-v这两个有输出功能的键会先清空选择的字母,在进行输出。

给定一系列键盘输入,输出最终屏幕上字母的数量。

输入描述:

输入为一行,为简化解析,用数组1,2,3,4,5代表a,ctrl-c,ctrl-x,ctrl-v,ctrl-a 五个键的输入,数字用空格分隔

输出描述:

输出一个数字,为最终屏幕上字母的数量

示例1:

1 1 1

输出

3

示例2

1 1 5 1 5 2 4 4

输出:

2

let arr = [1,1,5,1,5,2,4,4]
let count = 0
let selectCount = 0
let copyCount = 0
function test(arr) {
    for(let i of arr){
        console.log(i);
        switch (i){
            case 1:
                count = selectCount>0?1:count+1
                selectCount = 0
                break
            case 2:
                copyCount = selectCount
                break
            case 3:
                count -= selectCount;
                copyCount = selectCount
                count = 0
               break
            case 4:
                count -= selectCount
                selectCount = 0
                count += copyCount
                break
            case 5:
                selectCount = count
                break
        }
    }
    console.log(count);
}
test(arr)