华为机试-设计一个定时器管理系统
来源:互联网 发布:python 循环生成字典 编辑:程序博客网 时间:2024/04/30 01:16
设计一个定时器管理系统,可以动态启动、停止定时器,并能根据已失去的时长自动调整剩余的时间。
运行时间限制:1Sec
内存限制:无限制
输入:启动定时器:starttimmer: ID, time
举例:
starttimmer: 1, 1000
启动一个定时器,其ID为1,定时时长time为1000ms
注:定时器ID用例保证非负整数,定时时长一定为正整数
停止定时器:stoptimmer: ID
举例:
stoptimmer: 1
停止一个ID为1的定时器
注:定时器ID用例保证非负整数,如果停止的定时器ID不存在,则忽略。
逝去时长:elapse: time
举例:
elapse: 1000
时间逝去1000ms
注:用例保证时长一定为正整数
输入结束
end
输出:
按启动顺序输出还没有停止的定时器,如ID为1的定时器还有1000ms才结束
timer: 1, 1000
如果所有定时器都停止了,输出none
none
样例输入:
starttimer: 1, 1000
starttimer: 2, 2000
elapse: 1000
end
样例输出:timer: 2,1000
import java.util.HashMap;import java.util.Scanner;import java.util.Iterator;public class test{ public static void main(String []args) { Scanner inputScanner = new Scanner(System.in); HashMap<Integer, Integer> hashMap = new HashMap<Integer, Integer>(); while(inputScanner.hasNext()){ String str = inputScanner.nextLine(); String[] arr = str.split(":"); if("end".equals(arr[0])){ if(hashMap.isEmpty()){ System.out.print("none"); } else{ Iterator it = hashMap.keySet().iterator(); while(it.hasNext()){ int key = (Integer)it.next(); int value = hashMap.get(key); if(value>0){ System.out.print("timer:"+key+","+value); } } } System.exit(0); } String[] ch = arr[1].split(","); if("starttimer".equals(arr[0])){ hashMap.put(Integer.valueOf(ch[0]), Integer.valueOf(ch[1])); } else if("stoptimer".equals(arr[0])){ hashMap.remove(arr[1]); } else{ Iterator it = hashMap.keySet().iterator(); while(it.hasNext()){ int key = (Integer)it.next(); int value = hashMap.get(key)-Integer.valueOf(arr[1]); hashMap.put(key, value); } } } }}
0 0
- 华为机试-设计一个定时器管理系统
- 一个权限管理系统如何设计
- Linux 系统设计之 定时器
- evpp设计细节系列(1):利用 enable_shared_from_this 实现一个自管理的定时器
- 华为机试之好友管理
- 华为机试题:实现一个简易的银行叫号系统
- 设计一个图书借阅管理系统需要如何分析
- 自己设计的一个亲自活动报名管理系统数据库
- 设计一个课程和教材管理系统-小作业
- Linux系统下多个定时器的管理
- 医院门诊管理系统--华为OJ
- 设计异常管理系统
- 设计异常管理系统
- 谈设计管理系统
- 权限管理系统设计
- 设计异常管理系统
- 传真管理系统设计
- 权限管理系统设计
- 技术网站收集
- 【Basic computer】-----User Activation
- 实习--月见
- codeforces 699B One Bomb (思维)
- 串口传文件(非终端串口,自己定协议下位机部分C语言实现)
- 华为机试-设计一个定时器管理系统
- HDU 5779 BestCoder Round #85 Tower Defence ( dp升级版 )
- java学习日志(2)变量类型、运算符、操作符
- Python快速入门
- 【华为校园优招】华为苏研2日面试之旅
- 基于百度接口的手机无广告浏览器设计
- grep命令的简单实用
- Java——Swing界面,接口和事件
- 爱生活