华为OD机试真题B卷 Java 实现【5键键盘的输出】,附详细解题思路

在这里插入图片描述

一、题目描述

有一个特殊的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. 定义三个字符串变量:screen、choose、temp,分别表示屏幕上的字母、选择的字母

你可能感兴趣的:(java,算法,华为机试)