手机键盘(简单模拟)

#题目描述
清华大学研究生复试机试真题

按照手机键盘输入字母的方式,计算所花费的时间 如:a,b,c都在“1”键上,输入a只需要按一次,输入c需要连续按三次。 如果连续两个字符不在同一个按键上,则可直接按,如:ad需要按两下,kz需要按6下 如果连续两字符在同一个按键上,则两个按键之间需要等一段时间,如ac,在按了a之后,需要等一会儿才能按c。 现在假设每按一次需要花费一个时间段,等待时间需要花费两个时间段。 现在给出一串字符,需要计算出它所需要花费的时间。
输入描述:
一个长度不大于100的字符串,其中只有手机按键上有的小写字母
输出描述:
输入可能包括多组数据,对于每组数据,输出按出Input所给字符串所需要的时间
示例1
输入
复制
bob
www
输出
复制
7
7
解题思路,简单模拟
一个数组保存每个字母需要按几次,一个数组保存是否是同一个按键
如果在同一个按键就是累加+等待时间
不是就直接累加即得

额外说一下,不要让简单的问题变复杂,硬求通解,简单模拟时间复杂度允许的情况直接模拟即可

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main{
	public static void main(String[] args) throws IOException {
		BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
		char[] chs=bf.readLine().toCharArray();
		int time=0;
		int arr[]={1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,4,1,2,3,1,2,3,4};
		int key[]={1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,6,7,7,7,8,8,8,8};
		time+=arr[chs[0]-97];
		for (int i = 1; i < chs.length; i++) {
			if (key[chs[i]-97]==key[chs[i-1]-97]) {
				time=time+2+arr[chs[i]-97];
			}else {
				time+=arr[chs[i]-97];
			}
		}
		System.out.println(time);
	}
}

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件功能】 蓝牙遥控器软件,可以将你的手机变成一部电脑遥控器,使用手机可以控制电脑的鼠标操作、键盘的输入,如果你的手机具有手写功能,还可以将你的手机变成手写板。 这个软件分为两部分,一个是安装到手机上,另一个安装在电脑上。 手机端: 软件文件名为BtRemoteControl.jar,它要求安装的手机具有java功能,并支持MIDP2.0,具有蓝牙功能。 电脑端: 要想在电脑上运行遥控器,要求安装蓝牙驱动程序widcomm驱动或IVT BlueSoleil驱动。 同时,还要求电脑上安装.net运行库2.0,如果你的电脑没有安装,必须先安装Microsoft .NET Framework 2.0 。 【使用说明】 电脑端的安装使用: 蓝牙遥控器电脑端在电脑上安装后,双击图标桌面上产生的图标。 首先在“请选择接受遥控的蓝牙虚拟串口”后面,选择蓝牙的虚拟串口名字,软件里已经包括了从com1到com20的串口名字,请根据自己机器上的蓝牙虚拟串口名字选择,如果你无法确定,可以用手机上的蓝牙遥控器软件测试1下。 选择好串口名字后,点下“打开串口”按钮,将显示“蓝牙串口状态:"已打开,这时就可以接受手机方的控制了。 手机端的安装使用: 和其它的JAVA程序在手机上的安装过程一样,先用蓝牙、红外线或数据线将手机与电脑连接,将BtRemoteControl.jar安装到手机,在手机的功能表里就会出现“蓝牙遥控器”标志,运行软件,会出现“启动蓝牙”选择,运行该选择,软件将搜索周围准备接受遥控的电脑上的蓝牙设备,搜索片刻后,将显示搜到蓝牙设备,并接着显示蓝牙设备上的蓝牙虚拟串口服务是否存在。 如果搜索后显示未找到蓝牙设备,请检查你的手机是否启动了蓝牙,你的电脑上的蓝牙驱动程序是否启动,蓝牙设备是否插好。 在找到蓝牙设备和蓝牙上的虚拟串口后,手机上将会有如下3个菜单选择: 发送测试:用来测试电脑上的蓝牙虚拟串口是否可以接受数据,同时可以测试出蓝牙虚拟串口的名字,供电脑方的遥控软件设置使用,按下这个按钮,就可以向电脑的虚拟串口发送1个数据,测试串口。 控制鼠标和键盘:选择了这个菜单,将显示遥控鼠标、键盘界面.这个选择有3个功能,用户可以按下#号键,在这三个功能之间切换,这三个功能: 1、遥控鼠标。手机方向键的上下左右四个键,控制鼠标上下左右移动,按下0键,遥控单击鼠标右键,按下9键,遥控单击鼠标左键,按下ok键,遥控双击鼠标左键。按下1,3,7个键,调整鼠标移动的距离,1键是短距离,3键是中距离,7键是长距离。 2、遥控鼠标自动移动。按下上下左右四个方向键,鼠标将按照操作自动上下左右移动,一直到屏幕的边缘才停止,按下*号键,停止自动运行。 3、遥控键盘。按下手机上的0到9号键,将向电脑发送命令0到9,在电脑上,可以进行设置,当接到命令时如何控制键盘。电脑端的操作如下图,选择接到命令时,要按下的按键,点“添加”按钮,就可以添加成功,选择后,殿下“删除”按钮,就可以删除: 文字输入:按下这个菜单,将可以输入文字到电脑。在手机中输入文字,然后点下“发送文字”按钮,就可以将文字发送到电脑了。
手机做键鼠,for Android 1. 解压「无线手写板鼠标」压缩包,安装其中的手机软件“无线手写板鼠标.apk”到Android手机; 2. 电脑端软件“无线手写板鼠标.exe”无需安装,直接双击运行即可(若无法运行,请下载并安装“.NET Framework 2.0 组件包”); 使用Wi-Fi连接: 1. 确认手机和电脑都连接到的是同一个Wi-Fi网络,建议使用「豌豆荚手机精灵」或「91手机助手」来测试连接是否正常; 2. 启动「无线手写板鼠标」手机端和电脑端软件; 3. 把手机软件上显示的手机IP地址输入到电脑端软件,并点击“连接到手机”按钮,连接成功后电脑端软件会自动最小化; 使用USB连接: 1. 安装手机相应的驱动程序,建议使用「豌豆荚手机精灵」或「91手机助手」来协助您安装并测试连接是否正常; 2. 打开手机上的“设置->应用程序->开发->USB调试”开关,并用USB数据线把手机连接至电脑; 3. 启动「无线手写板鼠标」手机端和电脑端软件; 4. 点击「无线手写板鼠标」电脑端软件上方的“连接到手机”按钮,连接成功后电脑端软件会自动最小化; 连接成功后: 1. 可触摸手机屏幕来控制电脑上的鼠标; 2. 可激活电脑上任意程序的编辑框,然后在手机软件下方编辑框中手写或语音输入想要的内容,此时输入的文字会自动同步发送到电脑; 3. 可利用电脑来为手机输入文字,单击电脑端软件上的“更多”按钮,然后在编辑框中输入文字并点击“发送到手机”,此时手机即可任意粘贴接收到的文字。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值